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 9c567ac6f8d67697e97ff26c1b412791ef1d7d93:


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: 37 39 2e 32 2e 32 20 32 30 30 33 2f 30 37 2f 32  79.2.2 2003/07/2
0050: 31 20 31 37 3a 33 30 3a 34 36 20 64 67 70 20 45  1 17:30:46 dgp E
0060: 78 70 20 24 0a 0a 31 2e 20 4e 6f 20 6d 6f 72 65  xp $..1. No more
0070: 20 5b 63 6f 6d 6d 61 6e 64 31 5d 20 5b 63 6f 6d   [command1] [com
0080: 6d 61 6e 64 32 5d 20 63 6f 6e 73 74 72 75 63 74  mand2] construct
0090: 20 66 6f 72 20 67 72 6f 75 70 69 6e 67 20 6d 75   for grouping mu
00a0: 6c 74 69 70 6c 65 0a 63 6f 6d 6d 61 6e 64 73 20  ltiple.commands 
00b0: 6f 6e 20 61 20 73 69 6e 67 6c 65 20 63 6f 6d 6d  on a single comm
00c0: 61 6e 64 20 6c 69 6e 65 2e 0a 0a 32 2e 20 53 65  and line...2. Se
00d0: 6d 69 2d 63 6f 6c 6f 6e 20 6e 6f 77 20 61 76 61  mi-colon now ava
00e0: 69 6c 61 62 6c 65 20 66 6f 72 20 67 72 6f 75 70  ilable for group
00f0: 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 6f 6e 20  ing commands on 
0100: 61 20 6c 69 6e 65 2e 0a 0a 33 2e 20 46 6f 72 20  a line...3. For 
0110: 61 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 73 70 61  a command to spa
0120: 6e 20 6d 75 6c 74 69 70 6c 65 20 6c 69 6e 65 73  n multiple lines
0130: 2c 20 6d 75 73 74 20 6e 6f 77 20 75 73 65 20 62  , must now use b
0140: 61 63 6b 73 6c 61 73 68 2d 72 65 74 75 72 6e 0a  ackslash-return.
0150: 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 65 61  at the end of ea
0160: 63 68 20 6c 69 6e 65 20 62 75 74 20 74 68 65 20  ch line but the 
0170: 6c 61 73 74 2e 0a 0a 34 2e 20 22 56 61 72 22 20  last...4. "Var" 
0180: 63 6f 6d 6d 61 6e 64 20 68 61 73 20 62 65 65 6e  command has been
0190: 20 63 68 61 6e 67 65 64 20 74 6f 20 22 73 65 74   changed to "set
01a0: 22 2e 0a 0a 35 2e 20 44 6f 75 62 6c 65 2d 71 75  "...5. Double-qu
01b0: 6f 74 65 73 20 6e 6f 77 20 61 76 61 69 6c 61 62  otes now availab
01c0: 6c 65 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e  le as an argumen
01d0: 74 20 67 72 6f 75 70 69 6e 67 20 63 68 61 72 61  t grouping chara
01e0: 63 74 65 72 2e 0a 0a 36 2e 20 22 52 65 74 75 72  cter...6. "Retur
01f0: 6e 22 20 6d 61 79 20 62 65 20 75 73 65 64 20 61  n" may be used a
0200: 74 20 74 6f 70 2d 6c 65 76 65 6c 2e 0a 0a 37 2e  t top-level...7.
0210: 20 4d 6f 72 65 20 62 61 63 6b 73 6c 61 73 68 20   More backslash 
0220: 73 65 71 75 65 6e 63 65 73 20 61 76 61 69 6c 61  sequences availa
0230: 62 6c 65 20 6e 6f 77 2e 20 20 49 6e 20 70 61 72  ble now.  In par
0240: 74 69 63 75 6c 61 72 2c 20 62 61 63 6b 73 6c 61  ticular, backsla
0250: 73 68 2d 6e 65 77 6c 69 6e 65 0a 6d 61 79 20 62  sh-newline.may b
0260: 65 20 75 73 65 64 20 74 6f 20 6a 6f 69 6e 20 6c  e used to join l
0270: 69 6e 65 73 20 69 6e 20 63 6f 6d 6d 61 6e 64 20  ines in command 
0280: 66 69 6c 65 73 2e 0a 0a 38 2e 20 4e 65 77 20 6f  files...8. New o
0290: 72 20 6d 6f 64 69 66 69 65 64 20 62 75 69 6c 74  r modified built
02a0: 2d 69 6e 20 63 6f 6d 6d 61 6e 64 73 3a 20 20 63  -in commands:  c
02b0: 61 73 65 2c 20 72 65 74 75 72 6e 2c 20 66 6f 72  ase, return, for
02c0: 2c 20 67 6c 6f 62 2c 20 69 6e 66 6f 2c 0a 70 72  , glob, info,.pr
02d0: 69 6e 74 2c 20 72 65 74 75 72 6e 2c 20 73 65 74  int, return, set
02e0: 2c 20 73 6f 75 72 63 65 2c 20 73 74 72 69 6e 67  , source, string
02f0: 2c 20 75 70 6c 65 76 65 6c 2e 0a 0a 39 2e 20 41  , uplevel...9. A
0300: 66 74 65 72 20 61 6e 20 65 72 72 6f 72 2c 20 74  fter an error, t
0310: 68 65 20 76 61 72 69 61 62 6c 65 20 22 65 72 72  he variable "err
0320: 6f 72 49 6e 66 6f 22 20 69 73 20 66 69 6c 6c 65  orInfo" is fille
0330: 64 20 77 69 74 68 20 61 20 73 74 61 63 6b 0a 74  d with a stack.t
0340: 72 61 63 65 20 73 68 6f 77 69 6e 67 20 77 68 61  race showing wha
0350: 74 20 77 61 73 20 62 65 69 6e 67 20 65 78 65 63  t was being exec
0360: 75 74 65 64 20 77 68 65 6e 20 74 68 65 20 65 72  uted when the er
0370: 72 6f 72 20 6f 63 63 75 72 72 65 64 2e 0a 0a 31  ror occurred...1
0380: 30 2e 20 43 6f 6d 6d 61 6e 64 20 61 62 62 72 65  0. Command abbre
0390: 76 69 61 74 69 6f 6e 73 20 61 72 65 20 61 63 63  viations are acc
03a0: 65 70 74 65 64 20 77 68 65 6e 20 70 61 72 73 69  epted when parsi
03b0: 6e 67 20 63 6f 6d 6d 61 6e 64 73 2c 20 62 75 74  ng commands, but
03c0: 0a 61 72 65 20 6e 6f 74 20 72 65 63 6f 6d 6d 65  .are not recomme
03d0: 6e 64 65 64 20 65 78 63 65 70 74 20 66 6f 72 20  nded except for 
03e0: 70 75 72 65 6c 79 2d 69 6e 74 65 72 61 63 74 69  purely-interacti
03f0: 76 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 31 31  ve commands...11
0400: 2e 20 24 2c 20 73 65 74 2c 20 61 6e 64 20 65 78  . $, set, and ex
0410: 70 72 20 61 6c 6c 20 63 6f 6d 70 6c 61 69 6e 20  pr all complain 
0420: 6e 6f 77 20 69 66 20 61 20 6e 6f 6e 2d 65 78 69  now if a non-exi
0430: 73 74 65 6e 74 20 76 61 72 69 61 62 6c 65 20 69  stent variable i
0440: 73 0a 72 65 66 65 72 65 6e 63 65 64 2e 0a 0a 31  s.referenced...1
0450: 32 2e 20 48 69 73 74 6f 72 79 20 66 61 63 69 6c  2. History facil
0460: 69 74 69 65 73 20 65 78 69 73 74 20 6e 6f 77 2e  ities exist now.
0470: 20 20 53 65 65 20 54 63 6c 2e 6d 61 6e 20 61 6e    See Tcl.man an
0480: 64 20 54 63 6c 5f 52 65 63 6f 72 64 41 6e 64 45  d Tcl_RecordAndE
0490: 76 61 6c 2e 6d 61 6e 2e 0a 0a 31 33 2e 20 43 68  val.man...13. Ch
04a0: 61 6e 67 65 64 20 74 6f 20 64 69 73 74 69 6e 67  anged to disting
04b0: 75 69 73 68 20 62 65 74 77 65 65 6e 20 65 6d 70  uish between emp
04c0: 74 79 20 76 61 72 69 61 62 6c 65 73 20 61 6e 64  ty variables and
04d0: 20 74 68 6f 73 65 20 74 68 61 74 20 64 6f 6e 27   those that don'
04e0: 74 0a 65 78 69 73 74 20 61 74 20 61 6c 6c 2e 20  t.exist at all. 
04f0: 20 49 6e 74 65 72 66 61 63 65 73 20 74 6f 20 54   Interfaces to T
0500: 63 6c 5f 47 65 74 56 61 72 20 61 6e 64 20 54 63  cl_GetVar and Tc
0510: 6c 5f 50 61 72 73 65 56 61 72 20 68 61 76 65 20  l_ParseVar have 
0520: 63 68 61 6e 67 65 64 0a 28 4e 55 4c 4c 20 72 65  changed.(NULL re
0530: 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f  turn value is no
0540: 77 20 70 6f 73 73 69 62 6c 65 29 2e 20 20 2a 2a  w possible).  **
0550: 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
0560: 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
0570: 0a 31 34 2e 20 43 68 61 6e 67 65 64 20 6d 65 61  .14. Changed mea
0580: 6e 69 6e 67 20 6f 66 20 22 6c 65 76 65 6c 22 20  ning of "level" 
0590: 61 72 67 75 6d 65 6e 74 20 74 6f 20 22 75 70 6c  argument to "upl
05a0: 65 76 65 6c 22 20 63 6f 6d 6d 61 6e 64 20 28 31  evel" command (1
05b0: 20 6e 6f 77 20 6d 65 61 6e 73 0a 22 67 6f 20 75   now means."go u
05c0: 70 20 6f 6e 65 20 6c 65 76 65 6c 22 2c 20 6e 6f  p one level", no
05d0: 74 20 22 67 6f 20 74 6f 20 6c 65 76 65 6c 20 31  t "go to level 1
05e0: 22 3b 20 22 23 31 22 20 6d 65 61 6e 73 20 22 67  "; "#1" means "g
05f0: 6f 20 74 6f 20 6c 65 76 65 6c 20 31 22 29 2e 0a  o to level 1")..
0600: 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
0610: 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
0620: 2a 0a 0a 31 35 2e 20 33 2f 31 39 2f 39 30 20 41  *..15. 3/19/90 A
0630: 64 64 65 64 20 22 69 6e 66 6f 20 65 78 69 73 74  dded "info exist
0640: 73 22 20 6f 70 74 69 6f 6e 20 74 6f 20 73 65 65  s" option to see
0650: 20 69 66 20 76 61 72 69 61 62 6c 65 20 65 78 69   if variable exi
0660: 73 74 73 2e 0a 0a 31 36 2e 20 33 2f 31 39 2f 39  sts...16. 3/19/9
0670: 30 20 41 64 64 65 64 20 22 6e 6f 41 62 62 72 65  0 Added "noAbbre
0680: 76 22 20 76 61 72 69 61 62 6c 65 20 74 6f 20 70  v" variable to p
0690: 72 6f 68 69 62 69 74 20 63 6f 6d 6d 61 6e 64 20  rohibit command 
06a0: 61 62 62 72 65 76 69 61 74 69 6f 6e 73 2e 0a 0a  abbreviations...
06b0: 31 37 2e 20 33 2f 31 39 2f 39 30 20 41 64 64 65  17. 3/19/90 Adde
06c0: 64 20 65 78 74 72 61 20 65 72 72 6f 72 49 6e 66  d extra errorInf
06d0: 6f 20 6f 70 74 69 6f 6e 20 74 6f 20 22 65 72 72  o option to "err
06e0: 6f 72 22 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 31 38  or" command...18
06f0: 2e 20 33 2f 32 31 2f 39 30 20 44 6f 75 62 6c 65  . 3/21/90 Double
0700: 2d 71 75 6f 74 65 73 20 6e 6f 77 20 6f 6e 6c 79  -quotes now only
0710: 20 61 66 66 65 63 74 20 73 70 61 63 65 3a 20 20   affect space:  
0720: 63 6f 6d 6d 61 6e 64 2c 20 76 61 72 69 61 62 6c  command, variabl
0730: 65 2c 0a 61 6e 64 20 62 61 63 6b 73 6c 61 73 68  e,.and backslash
0740: 20 73 75 62 73 74 69 74 75 74 69 6f 6e 73 20 73   substitutions s
0750: 74 69 6c 6c 20 6f 63 63 75 72 20 69 6e 73 69 64  till occur insid
0760: 65 20 64 6f 75 62 6c 65 2d 71 75 6f 74 65 73 2e  e double-quotes.
0770: 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
0780: 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a  NCOMPATIBILITY *
0790: 2a 2a 0a 0a 31 39 2e 20 33 2f 32 31 2f 39 30 20  **..19. 3/21/90 
07a0: 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f  Added support fo
07b0: 72 20 5c 72 2e 0a 0a 32 30 2e 20 33 2f 32 31 2f  r \r...20. 3/21/
07c0: 39 30 20 4c 69 73 74 2c 20 63 6f 6e 63 61 74 2c  90 List, concat,
07d0: 20 65 76 61 6c 2c 20 61 6e 64 20 67 6c 6f 62 20   eval, and glob 
07e0: 63 6f 6d 6d 61 6e 64 73 20 61 6c 6c 20 65 78 70  commands all exp
07f0: 65 63 74 20 61 74 20 6c 65 61 73 74 0a 6f 6e 65  ect at least.one
0800: 20 61 72 67 75 6d 65 6e 74 20 6e 6f 77 2e 20 20   argument now.  
0810: 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
0820: 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
0830: 2a 0a 0a 32 31 2e 20 33 2f 32 32 2f 39 30 20 41  *..21. 3/22/90 A
0840: 64 64 65 64 20 22 3f 3a 22 20 6f 70 65 72 61 74  dded "?:" operat
0850: 6f 72 73 20 74 6f 20 65 78 70 72 65 73 73 69 6f  ors to expressio
0860: 6e 73 2e 0a 0a 32 32 2e 20 33 2f 32 35 2f 39 30  ns...22. 3/25/90
0870: 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 54 63   Fixed bug in Tc
0880: 6c 5f 52 65 73 75 6c 74 20 74 68 61 74 20 63 61  l_Result that ca
0890: 75 73 65 64 20 6d 65 6d 6f 72 79 20 74 6f 20 67  used memory to g
08a0: 65 74 20 74 72 61 73 68 65 64 2e 0a 0a 2d 2d 2d  et trashed...---
08b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
08c0: 20 52 65 6c 65 61 73 65 64 20 76 65 72 73 69 6f   Released versio
08d0: 6e 20 33 2e 31 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  n 3.1 ----------
08e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 33 2e  -----------..23.
08f0: 20 33 2f 32 39 2f 39 30 20 46 69 78 65 64 20 62   3/29/90 Fixed b
0900: 75 67 20 74 68 61 74 20 63 61 75 73 65 64 20 22  ug that caused "
0910: 66 69 6c 65 20 61 2e 62 2f 63 20 65 78 74 22 20  file a.b/c ext" 
0920: 74 6f 20 72 65 74 75 72 6e 20 22 2e 62 2f 63 22  to return ".b/c"
0930: 2e 0a 0a 32 34 2e 20 33 2f 32 39 2f 39 30 20 53  ...24. 3/29/90 S
0940: 65 6d 69 2d 63 6f 6c 6f 6e 20 69 73 20 6e 6f 74  emi-colon is not
0950: 20 74 72 65 61 74 65 64 20 73 70 65 63 69 61 6c   treated special
0960: 6c 79 20 77 68 65 6e 20 65 6e 63 6c 6f 73 65 64  ly when enclosed
0970: 20 69 6e 0a 64 6f 75 62 6c 65 2d 71 75 6f 74 65   in.double-quote
0980: 73 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  s...------------
0990: 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
09a0: 20 76 65 72 73 69 6f 6e 20 33 2e 32 20 2d 2d 2d   version 3.2 ---
09b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
09c0: 2d 2d 0a 0a 32 35 2e 20 34 2f 31 36 2f 39 30 20  --..25. 4/16/90 
09d0: 52 65 77 72 6f 74 65 20 22 65 78 65 63 22 20 6e  Rewrote "exec" n
09e0: 6f 74 20 74 6f 20 75 73 65 20 73 65 6c 65 63 74  ot to use select
09f0: 20 6f 72 20 73 69 67 6e 61 6c 73 20 61 6e 79 6d   or signals anym
0a00: 6f 72 65 2e 0a 53 68 6f 75 6c 64 20 62 65 20 6d  ore..Should be m
0a10: 6f 72 65 20 53 79 73 2d 56 20 63 6f 6d 70 61 74  ore Sys-V compat
0a20: 69 62 6c 65 2c 20 61 6e 64 20 6e 6f 20 73 6c 6f  ible, and no slo
0a30: 77 65 72 20 69 6e 20 74 68 65 20 6e 6f 72 6d 61  wer in the norma
0a40: 6c 20 63 61 73 65 2e 0a 0a 32 36 2e 20 34 2f 31  l case...26. 4/1
0a50: 38 2f 39 30 20 52 65 77 72 6f 74 65 20 22 67 6c  8/90 Rewrote "gl
0a60: 6f 62 22 20 74 6f 20 65 6c 69 6d 69 6e 61 74 65  ob" to eliminate
0a70: 20 47 4e 55 20 63 6f 64 65 20 28 74 68 65 72 65   GNU code (there
0a80: 27 73 20 6e 6f 20 47 4e 55 20 63 6f 64 65 0a 6c  's no GNU code.l
0a90: 65 66 74 20 69 6e 20 54 63 6c 2c 20 6e 6f 77 29  eft in Tcl, now)
0aa0: 2c 20 61 6e 64 20 61 64 64 65 64 20 54 63 6c 5f  , and added Tcl_
0ab0: 54 69 6c 64 65 53 75 62 73 74 20 70 72 6f 63 65  TildeSubst proce
0ac0: 64 75 72 65 2e 20 20 41 64 64 65 64 20 61 75 74  dure.  Added aut
0ad0: 6f 6d 61 74 69 63 0a 74 69 6c 64 65 2d 73 75 62  omatic.tilde-sub
0ae0: 73 74 69 74 75 74 69 6f 6e 20 69 6e 20 6d 61 6e  stitution in man
0af0: 79 20 63 6f 6d 6d 61 6e 64 73 2c 20 69 6e 63 6c  y commands, incl
0b00: 75 64 69 6e 67 20 22 67 6c 6f 62 22 2e 0a 0a 2d  uding "glob"...-
0b10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0b20: 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65 72 73  -- Released vers
0b30: 69 6f 6e 20 33 2e 33 20 2d 2d 2d 2d 2d 2d 2d 2d  ion 3.3 --------
0b40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32  -------------..2
0b50: 37 2e 20 37 2f 31 31 2f 39 30 20 41 64 64 65 64  7. 7/11/90 Added
0b60: 20 22 54 63 6c 5f 41 70 70 65 6e 64 52 65 73 75   "Tcl_AppendResu
0b70: 6c 74 22 20 70 72 6f 63 65 64 75 72 65 2e 0a 0a  lt" procedure...
0b80: 32 38 2e 20 37 2f 32 30 2f 39 30 20 22 48 69 73  28. 7/20/90 "His
0b90: 74 6f 72 79 22 20 77 69 74 68 20 6e 6f 20 6f 70  tory" with no op
0ba0: 74 69 6f 6e 73 20 6e 6f 77 20 64 65 66 61 75 6c  tions now defaul
0bb0: 74 73 20 74 6f 20 22 68 69 73 74 6f 72 79 20 69  ts to "history i
0bc0: 6e 66 6f 22 0a 72 61 74 68 65 72 20 74 68 61 6e  nfo".rather than
0bd0: 20 74 6f 20 22 68 69 73 74 6f 72 79 20 72 65 64   to "history red
0be0: 6f 22 2e 20 20 41 6c 74 68 6f 75 67 68 20 74 68  o".  Although th
0bf0: 69 73 20 69 73 20 61 20 62 61 63 6b 77 61 72 64  is is a backward
0c00: 20 69 6e 63 6f 6d 70 61 74 69 62 69 6c 69 74 79   incompatibility
0c10: 2c 0a 69 74 20 73 68 6f 75 6c 64 20 6f 6e 6c 79  ,.it should only
0c20: 20 62 65 20 75 73 65 64 20 69 6e 74 65 72 61 63   be used interac
0c30: 74 69 76 65 6c 79 20 61 6e 64 20 74 68 75 73 20  tively and thus 
0c40: 73 68 6f 75 6c 64 6e 27 74 20 70 72 65 73 65 6e  shouldn't presen
0c50: 74 20 61 6e 79 0a 63 6f 6d 70 61 74 69 62 69 6c  t any.compatibil
0c60: 69 74 79 20 70 72 6f 62 6c 65 6d 73 20 77 69 74  ity problems wit
0c70: 68 20 73 63 72 69 70 74 73 2e 0a 0a 32 39 2e 20  h scripts...29. 
0c80: 37 2f 32 30 2f 39 30 20 41 64 64 65 64 20 22 54  7/20/90 Added "T
0c90: 63 6c 5f 47 65 74 49 6e 74 65 67 65 72 22 2c 20  cl_GetInteger", 
0ca0: 22 54 63 6c 5f 47 65 74 44 6f 75 62 6c 65 22 2c  "Tcl_GetDouble",
0cb0: 20 61 6e 64 20 22 54 63 6c 5f 47 65 74 42 6f 6f   and "Tcl_GetBoo
0cc0: 6c 65 61 6e 22 0a 70 72 6f 63 65 64 75 72 65 73  lean".procedures
0cd0: 2e 0a 0a 33 30 2e 20 37 2f 32 32 2f 39 30 20 52  ...30. 7/22/90 R
0ce0: 65 6d 6f 76 65 64 20 22 54 63 6c 5f 57 61 74 63  emoved "Tcl_Watc
0cf0: 68 49 6e 74 65 72 70 22 20 70 72 6f 63 65 64 75  hInterp" procedu
0d00: 72 65 3a 20 20 64 6f 65 73 6e 27 74 20 73 65 65  re:  doesn't see
0d10: 6d 20 74 6f 20 62 65 0a 6e 65 63 65 73 73 61 72  m to be.necessar
0d20: 79 2c 20 73 69 6e 63 65 20 74 68 65 20 73 61 6d  y, since the sam
0d30: 65 20 65 66 66 65 63 74 20 63 61 6e 20 62 65 20  e effect can be 
0d40: 61 63 68 69 65 76 65 64 20 77 69 74 68 20 74 68  achieved with th
0d50: 65 20 64 65 6c 65 74 69 6f 6e 0a 63 61 6c 6c 62  e deletion.callb
0d60: 61 63 6b 73 20 6f 6e 20 69 6e 64 69 76 69 64 75  acks on individu
0d70: 61 6c 20 63 6f 6d 6d 61 6e 64 73 2e 20 20 2a 2a  al commands.  **
0d80: 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
0d90: 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
0da0: 0a 33 31 2e 20 37 2f 32 33 2f 39 30 20 41 64 64  .31. 7/23/90 Add
0db0: 65 64 20 76 61 72 69 61 62 6c 65 20 74 72 61 63  ed variable trac
0dc0: 69 6e 67 3a 20 20 54 63 6c 5f 54 72 61 63 65 56  ing:  Tcl_TraceV
0dd0: 61 72 2c 20 54 63 6c 5f 55 6e 54 72 61 63 65 56  ar, Tcl_UnTraceV
0de0: 61 72 2c 0a 61 6e 64 20 54 63 6c 5f 56 61 72 54  ar,.and Tcl_VarT
0df0: 72 61 63 65 49 6e 66 6f 20 70 72 6f 63 65 64 75  raceInfo procedu
0e00: 72 65 73 2c 20 22 74 72 61 63 65 22 20 63 6f 6d  res, "trace" com
0e10: 6d 61 6e 64 2e 0a 0a 33 32 2e 20 38 2f 39 2f 39  mand...32. 8/9/9
0e20: 30 20 4d 61 69 6c 65 64 20 6f 75 74 20 6c 69 73  0 Mailed out lis
0e30: 74 20 6f 66 20 61 6c 6c 20 62 75 67 20 66 69 78  t of all bug fix
0e40: 65 73 20 73 69 6e 63 65 20 33 2e 33 20 72 65 6c  es since 3.3 rel
0e50: 65 61 73 65 2e 0a 0a 33 33 2e 20 38 2f 32 39 2f  ease...33. 8/29/
0e60: 39 30 20 46 69 78 65 64 20 62 75 67 73 20 69 6e  90 Fixed bugs in
0e70: 20 54 63 6c 5f 4d 65 72 67 65 20 72 65 6c 61 74   Tcl_Merge relat
0e80: 69 6e 67 20 74 6f 20 62 61 63 6b 73 6c 61 73 68  ing to backslash
0e90: 65 73 20 61 6e 64 0a 73 65 6d 69 2d 63 6f 6c 6f  es and.semi-colo
0ea0: 6e 73 2e 20 20 4d 61 69 6c 65 64 20 6f 75 74 20  ns.  Mailed out 
0eb0: 70 61 74 63 68 2e 0a 0a 33 34 2e 20 39 2f 33 2f  patch...34. 9/3/
0ec0: 39 30 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  90 Fixed bug in 
0ed0: 74 63 6c 42 61 73 69 63 2e 63 3a 20 71 75 6f 74  tclBasic.c: quot
0ee0: 65 73 20 77 65 72 65 6e 27 74 20 71 75 6f 74 69  es weren't quoti
0ef0: 6e 67 20 5d 27 73 2e 0a 4d 61 69 6c 65 64 20 6f  ng ]'s..Mailed o
0f00: 75 74 20 70 61 74 63 68 2e 0a 0a 33 35 2e 20 39  ut patch...35. 9
0f10: 2f 31 39 2f 39 30 20 52 65 77 72 6f 74 65 20 65  /19/90 Rewrote e
0f20: 78 65 63 20 74 6f 20 61 6c 77 61 79 73 20 75 73  xec to always us
0f30: 65 20 66 69 6c 65 73 20 62 6f 74 68 20 66 6f 72  e files both for
0f40: 20 69 6e 70 75 74 20 61 6e 64 0a 6f 75 74 70 75   input and.outpu
0f50: 74 20 74 6f 20 74 68 65 20 70 72 6f 63 65 73 73  t to the process
0f60: 2e 20 20 54 68 65 20 6f 6c 64 20 70 69 70 65 2d  .  The old pipe-
0f70: 62 61 73 65 64 20 76 65 72 73 69 6f 6e 20 64 69  based version di
0f80: 64 6e 27 74 20 77 6f 72 6b 20 69 66 0a 74 68 65  dn't work if.the
0f90: 20 65 78 65 63 27 65 64 20 70 72 6f 63 65 73 73   exec'ed process
0fa0: 20 66 6f 72 6b 65 64 20 61 20 63 68 69 6c 64 20   forked a child 
0fb0: 61 6e 64 20 74 68 65 6e 20 65 78 69 74 65 64 3a  and then exited:
0fc0: 20 20 54 63 6c 20 77 61 69 74 65 64 0a 61 72 6f    Tcl waited.aro
0fd0: 75 6e 64 20 66 6f 72 20 73 74 64 6f 75 74 20 74  und for stdout t
0fe0: 6f 20 67 65 74 20 63 6c 6f 73 65 64 2c 20 77 68  o get closed, wh
0ff0: 69 63 68 20 64 69 64 6e 27 74 20 68 61 70 70 65  ich didn't happe
1000: 6e 20 75 6e 74 69 6c 20 74 68 65 0a 67 72 61 6e  n until the.gran
1010: 64 63 68 69 6c 64 20 65 78 69 74 65 64 2e 0a 0a  dchild exited...
1020: 33 36 2e 20 31 31 2f 35 2f 39 30 20 45 52 52 5f  36. 11/5/90 ERR_
1030: 49 4e 5f 50 52 4f 47 52 45 53 53 20 66 6c 61 67  IN_PROGRESS flag
1040: 20 77 61 73 6e 27 74 20 62 65 69 6e 67 20 63 6c   wasn't being cl
1050: 65 61 72 65 64 20 73 6f 6f 6e 20 65 6e 6f 75 67  eared soon enoug
1060: 68 0a 69 6e 20 54 63 6c 5f 45 76 61 6c 2c 20 61  h.in Tcl_Eval, a
1070: 6c 6c 6f 77 69 6e 67 20 65 72 72 6f 72 20 6d 65  llowing error me
1080: 73 73 61 67 65 73 20 66 72 6f 6d 20 64 69 66 66  ssages from diff
1090: 65 72 65 6e 74 20 63 6f 6d 6d 61 6e 64 73 20 74  erent commands t
10a0: 6f 0a 70 69 6c 65 20 75 70 20 69 6e 20 24 65 72  o.pile up in $er
10b0: 72 6f 72 49 6e 66 6f 2e 20 20 46 69 78 65 64 20  rorInfo.  Fixed 
10c0: 62 79 20 72 65 2d 61 72 72 61 6e 67 69 6e 67 20  by re-arranging 
10d0: 63 6f 64 65 20 69 6e 20 54 63 6c 5f 45 76 61 6c  code in Tcl_Eval
10e0: 20 74 68 61 74 0a 72 65 2d 69 6e 69 74 69 61 6c   that.re-initial
10f0: 69 7a 65 73 20 72 65 73 75 6c 74 20 61 6e 64 20  izes result and 
1100: 45 52 52 5f 49 4e 5f 50 52 4f 47 52 45 53 53 20  ERR_IN_PROGRESS 
1110: 66 6c 61 67 2e 20 20 44 69 64 6e 27 74 20 6d 61  flag.  Didn't ma
1120: 69 6c 20 6f 75 74 0a 70 61 74 63 68 3a 20 20 63  il out.patch:  c
1130: 68 61 6e 67 65 73 20 74 6f 6f 20 63 6f 6d 70 6c  hanges too compl
1140: 69 63 61 74 65 64 20 74 6f 20 64 65 73 63 72 69  icated to descri
1150: 62 65 2e 0a 0a 33 37 2e 20 31 32 2f 31 39 2f 39  be...37. 12/19/9
1160: 30 20 41 64 64 65 64 20 54 63 6c 5f 56 61 72 45  0 Added Tcl_VarE
1170: 76 61 6c 20 70 72 6f 63 65 64 75 72 65 20 61 73  val procedure as
1180: 20 61 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 66   a convenience f
1190: 6f 72 0a 61 73 73 65 6d 62 6c 69 6e 67 20 61 6e  or.assembling an
11a0: 64 20 65 78 65 63 75 74 69 6e 67 20 54 63 6c 20  d executing Tcl 
11b0: 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 33 38 2e 20 31  commands...38. 1
11c0: 2f 32 39 2f 39 31 20 46 69 78 65 64 20 63 6f 72  /29/91 Fixed cor
11d0: 65 20 6c 65 61 6b 20 69 6e 20 54 63 6c 5f 41 64  e leak in Tcl_Ad
11e0: 64 45 72 72 6f 72 49 6e 66 6f 2e 20 20 41 6c 73  dErrorInfo.  Als
11f0: 6f 20 63 68 61 6e 67 65 64 20 70 72 6f 63 65 64  o changed proced
1200: 75 72 65 0a 61 6e 64 20 54 63 6c 5f 45 76 61 6c  ure.and Tcl_Eval
1210: 20 73 6f 20 74 68 61 74 20 66 69 72 73 74 20 63   so that first c
1220: 61 6c 6c 20 74 6f 20 54 63 6c 5f 41 64 64 45 72  all to Tcl_AddEr
1230: 72 6f 72 49 6e 66 6f 20 6e 65 65 64 20 6e 6f 74  rorInfo need not
1240: 20 63 6f 6d 65 20 66 72 6f 6d 0a 54 63 6c 5f 45   come from.Tcl_E
1250: 76 61 6c 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  val...----------
1260: 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
1270: 20 76 65 72 73 69 6f 6e 20 35 2e 30 20 77 69 74   version 5.0 wit
1280: 68 20 54 6b 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  h Tk -----------
1290: 2d 2d 2d 2d 2d 2d 2d 0a 0a 33 39 2e 20 34 2f 33  -------..39. 4/3
12a0: 2f 39 31 20 52 65 6d 6f 76 65 64 20 63 68 61 6e  /91 Removed chan
12b0: 67 65 20 62 61 72 73 20 66 72 6f 6d 20 6d 61 6e  ge bars from man
12c0: 75 61 6c 20 65 6e 74 72 69 65 73 2c 20 6c 65 61  ual entries, lea
12d0: 76 69 6e 67 20 6f 6e 6c 79 20 74 68 6f 73 65 0a  ving only those.
12e0: 74 68 61 74 20 63 61 6d 65 20 61 66 74 65 72 20  that came after 
12f0: 76 65 72 73 69 6f 6e 20 33 2e 33 20 77 61 73 20  version 3.3 was 
1300: 72 65 6c 65 61 73 65 64 2e 0a 0a 34 30 2e 20 35  released...40. 5
1310: 2f 31 37 2f 39 31 20 43 68 61 6e 67 65 64 20 74  /17/91 Changed t
1320: 65 73 74 73 20 74 6f 20 63 6f 6e 66 6f 72 6d 20  ests to conform 
1330: 74 6f 20 4d 61 72 79 20 41 6e 6e 20 4d 61 79 2d  to Mary Ann May-
1340: 50 75 6d 70 68 72 65 79 27 73 20 61 70 70 72 6f  Pumphrey's appro
1350: 61 63 68 2e 0a 20 0a 34 31 2e 20 35 2f 32 33 2f  ach.. .41. 5/23/
1360: 39 31 20 4d 61 73 73 69 76 65 20 72 65 76 69 73  91 Massive revis
1370: 69 6f 6e 20 74 6f 20 54 63 6c 20 70 61 72 73 65  ion to Tcl parse
1380: 72 20 74 6f 20 73 69 6d 70 6c 69 66 79 20 74 68  r to simplify th
1390: 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  e implementation
13a0: 0a 6f 66 20 73 74 72 69 6e 67 20 61 6e 64 20 66  .of string and f
13b0: 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 73 75  loating-point su
13c0: 70 70 6f 72 74 20 69 6e 20 65 78 70 72 65 73 73  pport in express
13d0: 69 6f 6e 73 2e 20 20 4e 65 77 6c 69 6e 65 73 20  ions.  Newlines 
13e0: 69 6e 73 69 64 65 0a 5b 5d 20 61 72 65 20 6e 6f  inside.[] are no
13f0: 77 20 74 72 65 61 74 65 64 20 61 73 20 63 6f 6d  w treated as com
1400: 6d 61 6e 64 20 73 65 70 61 72 61 74 6f 72 73 20  mand separators 
1410: 72 61 74 68 65 72 20 74 68 61 6e 20 77 6f 72 64  rather than word
1420: 20 73 65 70 61 72 61 74 6f 72 73 0a 28 74 68 69   separators.(thi
1430: 73 20 6d 61 6b 65 73 20 6e 65 77 6c 69 6e 65 20  s makes newline 
1440: 74 72 65 61 74 6d 65 6e 74 20 63 6f 6e 73 69 73  treatment consis
1450: 74 65 6e 74 20 74 68 72 6f 75 67 68 6f 75 74 20  tent throughout 
1460: 54 63 6c 29 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54  Tcl)..*** POTENT
1470: 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
1480: 49 54 59 20 2a 2a 2a 0a 0a 34 32 2e 20 35 2f 32  ITY ***..42. 5/2
1490: 33 2f 39 31 20 4d 61 73 73 69 76 65 20 72 65 77  3/91 Massive rew
14a0: 72 69 74 65 20 6f 66 20 65 78 70 72 65 73 73 69  rite of expressi
14b0: 6f 6e 20 63 6f 64 65 20 74 6f 20 73 75 70 70 6f  on code to suppo
14c0: 72 74 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e  rt floating-poin
14d0: 74 0a 76 61 6c 75 65 73 20 61 6e 64 20 73 69 6d  t.values and sim
14e0: 70 6c 65 20 73 74 72 69 6e 67 20 63 6f 6d 70 61  ple string compa
14f0: 72 69 73 6f 6e 73 2e 20 20 54 68 65 20 43 20 69  risons.  The C i
1500: 6e 74 65 72 66 61 63 65 73 20 74 6f 20 65 78 70  nterfaces to exp
1510: 72 65 73 73 69 6f 6e 0a 72 6f 75 74 69 6e 65 73  ression.routines
1520: 20 68 61 76 65 20 63 68 61 6e 67 65 64 20 28 54   have changed (T
1530: 63 6c 5f 45 78 70 72 20 69 73 20 72 65 70 6c 61  cl_Expr is repla
1540: 63 65 64 20 62 79 20 54 63 6c 5f 45 78 70 72 4c  ced by Tcl_ExprL
1550: 6f 6e 67 2c 20 54 63 6c 5f 45 78 70 72 44 6f 75  ong, Tcl_ExprDou
1560: 62 6c 65 2c 0a 65 74 63 2e 29 2c 20 62 75 74 20  ble,.etc.), but 
1570: 61 6c 6c 20 6f 6c 64 20 54 63 6c 20 65 78 70 72  all old Tcl expr
1580: 65 73 73 69 6f 6e 20 73 74 72 69 6e 67 73 20 73  ession strings s
1590: 68 6f 75 6c 64 20 62 65 20 61 63 63 65 70 74 65  hould be accepte
15a0: 64 20 62 79 20 74 68 65 20 6e 65 77 0a 65 78 70  d by the new.exp
15b0: 72 65 73 73 69 6f 6e 20 63 6f 64 65 2e 0a 2a 2a  ression code..**
15c0: 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
15d0: 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
15e0: 0a 34 33 2e 20 35 2f 32 33 2f 39 31 20 4d 6f 64  .43. 5/23/91 Mod
15f0: 69 66 69 65 64 20 74 63 6c 48 69 73 74 6f 72 79  ified tclHistory
1600: 2e 63 20 74 6f 20 63 68 65 63 6b 20 66 6f 72 20  .c to check for 
1610: 6e 65 67 61 74 69 76 65 20 22 6b 65 65 70 22 20  negative "keep" 
1620: 76 61 6c 75 65 2e 0a 0a 34 34 2e 20 35 2f 32 33  value...44. 5/23
1630: 2f 39 31 20 4d 6f 64 69 66 69 65 64 20 54 63 6c  /91 Modified Tcl
1640: 5f 42 61 63 6b 73 6c 61 73 68 20 74 6f 20 68 61  _Backslash to ha
1650: 6e 64 6c 65 20 62 61 63 6b 73 6c 61 73 68 2d 6e  ndle backslash-n
1660: 65 77 6c 69 6e 65 2e 20 20 49 74 20 6e 6f 77 0a  ewline.  It now.
1670: 72 65 74 75 72 6e 73 20 30 20 74 6f 20 69 6e 64  returns 0 to ind
1680: 69 63 61 74 65 20 74 68 61 74 20 61 20 62 61 63  icate that a bac
1690: 6b 73 6c 61 73 68 20 73 65 71 75 65 6e 63 65 20  kslash sequence 
16a0: 73 68 6f 75 6c 64 20 62 65 20 72 65 70 6c 61 63  should be replac
16b0: 65 64 20 62 79 0a 6e 6f 20 63 68 61 72 61 63 74  ed by.no charact
16c0: 65 72 20 61 74 20 61 6c 6c 2e 0a 2a 2a 2a 20 50  er at all..*** P
16d0: 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
16e0: 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 34 35  TIBILITY ***..45
16f0: 2e 20 35 2f 32 39 2f 39 31 20 4d 6f 64 69 66 69  . 5/29/91 Modifi
1700: 65 64 20 74 6f 20 75 73 65 20 41 4e 53 49 20 43  ed to use ANSI C
1710: 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 74 6f 74   function protot
1720: 79 70 65 73 2e 20 20 4d 75 73 74 20 73 65 74 0a  ypes.  Must set.
1730: 22 55 53 45 5f 41 4e 53 49 22 20 73 77 69 74 63  "USE_ANSI" switc
1740: 68 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  h when compiling
1750: 20 74 6f 20 67 65 74 20 70 72 6f 74 6f 74 79 70   to get prototyp
1760: 65 73 2e 0a 0a 34 36 2e 20 35 2f 32 39 2f 39 31  es...46. 5/29/91
1770: 20 43 6f 6d 70 6c 65 74 65 64 20 74 65 73 74 20   Completed test 
1780: 73 75 69 74 65 20 62 79 20 70 72 6f 76 69 64 69  suite by providi
1790: 6e 67 20 74 65 73 74 73 20 66 6f 72 20 61 6c 6c  ng tests for all
17a0: 20 6f 66 20 74 68 65 0a 62 75 69 6c 74 2d 69 6e   of the.built-in
17b0: 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a   Tcl commands...
17c0: 34 37 2e 20 35 2f 32 39 2f 39 31 20 43 68 61 6e  47. 5/29/91 Chan
17d0: 67 65 64 20 54 63 6c 5f 43 6f 6e 63 61 74 20 74  ged Tcl_Concat t
17e0: 6f 20 65 6c 69 6d 69 6e 61 74 65 20 6c 65 61 64  o eliminate lead
17f0: 69 6e 67 20 61 6e 64 20 74 72 61 69 6c 69 6e 67  ing and trailing
1800: 0a 77 68 69 74 65 2d 73 70 61 63 65 20 69 6e 20  .white-space in 
1810: 65 61 63 68 20 6f 66 20 74 68 65 20 74 68 69 6e  each of the thin
1820: 67 73 20 69 74 20 63 6f 6e 63 61 74 65 6e 61 74  gs it concatenat
1830: 65 73 20 61 6e 64 20 74 6f 20 69 67 6e 6f 72 65  es and to ignore
1840: 0a 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 20 61  .elements that a
1850: 72 65 20 65 6d 70 74 79 20 6f 72 20 68 61 76 65  re empty or have
1860: 20 6f 6e 6c 79 20 77 68 69 74 65 20 73 70 61 63   only white spac
1870: 65 20 69 6e 20 74 68 65 6d 2e 20 20 54 68 69 73  e in them.  This
1880: 0a 70 72 6f 64 75 63 65 73 20 63 6c 65 61 6e 65  .produces cleane
1890: 72 20 6f 75 74 70 75 74 20 66 72 6f 6d 20 74 68  r output from th
18a0: 65 20 22 63 6f 6e 63 61 74 22 20 63 6f 6d 6d 61  e "concat" comma
18b0: 6e 64 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  nd..*** POTENTIA
18c0: 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
18d0: 59 20 2a 2a 2a 0a 0a 34 38 2e 20 35 2f 33 31 2f  Y ***..48. 5/31/
18e0: 39 31 20 43 68 61 6e 67 65 64 20 22 73 65 74 22  91 Changed "set"
18f0: 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 20 54 63 6c   command and Tcl
1900: 5f 53 65 74 56 61 72 20 70 72 6f 63 65 64 75 72  _SetVar procedur
1910: 65 20 74 6f 20 72 65 74 75 72 6e 0a 6e 65 77 20  e to return.new 
1920: 76 61 6c 75 65 20 6f 66 20 76 61 72 69 61 62 6c  value of variabl
1930: 65 2e 0a 0a 34 39 2e 20 36 2f 31 2f 39 31 20 41  e...49. 6/1/91 A
1940: 64 64 65 64 20 22 77 68 69 6c 65 22 20 61 6e 64  dded "while" and
1950: 20 22 63 64 22 20 63 6f 6d 6d 61 6e 64 73 2e 0a   "cd" commands..
1960: 0a 35 30 2e 20 36 2f 31 2f 39 31 20 43 68 61 6e  .50. 6/1/91 Chan
1970: 67 65 64 20 22 65 78 65 63 22 20 74 6f 20 64 65  ged "exec" to de
1980: 6c 65 74 65 20 74 68 65 20 6c 61 73 74 20 63 68  lete the last ch
1990: 61 72 61 63 74 65 72 20 6f 66 20 70 72 6f 67 72  aracter of progr
19a0: 61 6d 0a 6f 75 74 70 75 74 20 69 66 20 69 74 20  am.output if it 
19b0: 69 73 20 61 20 6e 65 77 6c 69 6e 65 2e 20 20 49  is a newline.  I
19c0: 6e 20 6d 6f 73 74 20 63 61 73 65 73 20 74 68 69  n most cases thi
19d0: 73 20 6d 61 6b 65 73 20 69 74 20 65 61 73 69 65  s makes it easie
19e0: 72 20 74 6f 0a 70 72 6f 63 65 73 73 20 70 72 6f  r to.process pro
19f0: 67 72 61 6d 2d 67 65 6e 65 72 61 74 65 64 20 6f  gram-generated o
1a00: 75 74 70 75 74 2e 0a 2a 2a 2a 20 50 4f 54 45 4e  utput..*** POTEN
1a10: 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49  TIAL INCOMPATIBI
1a20: 4c 49 54 59 20 2a 2a 2a 0a 0a 35 31 2e 20 36 2f  LITY ***..51. 6/
1a30: 31 2f 39 31 20 4d 61 64 65 20 73 75 72 65 20 74  1/91 Made sure t
1a40: 68 61 74 20 70 6f 69 6e 74 65 72 73 20 61 72 65  hat pointers are
1a50: 20 6e 65 76 65 72 20 75 73 65 64 20 61 66 74 65   never used afte
1a60: 72 20 66 72 65 65 69 6e 67 20 74 68 65 6d 2e 0a  r freeing them..
1a70: 0a 35 32 2e 20 36 2f 31 2f 39 31 20 46 69 78 65  .52. 6/1/91 Fixe
1a80: 64 20 62 75 67 20 69 6e 20 54 63 6c 57 6f 72 64  d bug in TclWord
1a90: 45 6e 64 20 77 68 65 72 65 20 69 74 20 77 61 73  End where it was
1aa0: 6e 27 74 20 64 65 61 6c 69 6e 67 20 77 69 74 68  n't dealing with
1ab0: 0a 5b 5d 20 69 6e 73 69 64 65 20 71 75 6f 74 65  .[] inside quote
1ac0: 73 20 63 6f 72 72 65 63 74 6c 79 2e 0a 0a 35 33  s correctly...53
1ad0: 2e 20 36 2f 38 2f 39 31 20 46 69 78 65 64 20 65  . 6/8/91 Fixed e
1ae0: 78 65 63 2e 74 65 73 74 20 74 6f 20 61 63 63 65  xec.test to acce
1af0: 70 74 20 72 65 74 75 72 6e 20 76 61 6c 75 65 73  pt return values
1b00: 20 6f 66 20 65 69 74 68 65 72 20 31 20 6f 72 0a   of either 1 or.
1b10: 32 35 35 20 66 72 6f 6d 20 22 66 61 6c 73 65 22  255 from "false"
1b20: 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 35 34 2e 20 37   command...54. 7
1b30: 2f 36 2f 39 31 20 4d 61 73 73 69 76 65 20 6f 76  /6/91 Massive ov
1b40: 65 72 68 61 75 6c 20 6f 66 20 76 61 72 69 61 62  erhaul of variab
1b50: 6c 65 20 6d 61 6e 61 67 65 6d 65 6e 74 2e 20 20  le management.  
1b60: 41 73 73 6f 63 69 61 74 69 76 65 0a 61 72 72 61  Associative.arra
1b70: 79 73 20 6e 6f 77 20 61 76 61 69 6c 61 62 6c 65  ys now available
1b80: 2c 20 61 6c 6f 6e 67 20 77 69 74 68 20 22 75 6e  , along with "un
1b90: 73 65 74 22 20 63 6f 6d 6d 61 6e 64 20 28 61 6e  set" command (an
1ba0: 64 20 54 63 6c 5f 55 6e 73 65 74 56 61 72 0a 70  d Tcl_UnsetVar.p
1bb0: 72 6f 63 65 64 75 72 65 29 2e 20 20 56 61 72 69  rocedure).  Vari
1bc0: 61 62 6c 65 20 74 72 61 63 65 73 20 68 61 76 65  able traces have
1bd0: 20 62 65 65 6e 20 63 6f 6d 70 6c 65 74 65 6c 79   been completely
1be0: 20 72 65 77 6f 72 6b 65 64 3a 0a 69 6e 74 65 72   reworked:.inter
1bf0: 66 61 63 65 73 20 64 69 66 66 65 72 65 6e 74 20  faces different 
1c00: 62 6f 74 68 20 66 72 6f 6d 20 54 63 6c 20 61 6e  both from Tcl an
1c10: 64 20 43 2c 20 61 6e 64 20 6d 75 6c 74 69 70 6c  d C, and multipl
1c20: 65 20 74 72 61 63 65 73 20 6d 61 79 0a 65 78 69  e traces may.exi
1c30: 73 74 20 6f 6e 20 73 61 6d 65 20 76 61 72 69 61  st on same varia
1c40: 62 6c 65 2e 20 20 43 61 6e 20 6e 6f 20 6c 6f 6e  ble.  Can no lon
1c50: 67 65 72 20 72 65 64 65 66 69 6e 65 20 65 78 69  ger redefine exi
1c60: 73 74 69 6e 67 20 6c 6f 63 61 6c 0a 76 61 72 69  sting local.vari
1c70: 61 62 6c 65 20 74 6f 20 62 65 20 67 6c 6f 62 61  able to be globa
1c80: 6c 2e 20 20 43 61 6c 6c 69 6e 67 20 73 65 71 75  l.  Calling sequ
1c90: 65 6e 63 65 73 20 68 61 76 65 20 63 68 61 6e 67  ences have chang
1ca0: 65 64 20 73 6c 69 67 68 74 6c 79 0a 66 6f 72 20  ed slightly.for 
1cb0: 54 63 6c 5f 47 65 74 56 61 72 20 61 6e 64 20 54  Tcl_GetVar and T
1cc0: 63 6c 5f 53 65 74 56 61 72 20 28 22 67 6c 6f 62  cl_SetVar ("glob
1cd0: 61 6c 22 20 69 73 20 6e 6f 77 20 22 66 6c 61 67  al" is now "flag
1ce0: 73 22 29 2e 20 54 63 6c 5f 53 65 74 56 61 72 0a  s"). Tcl_SetVar.
1cf0: 63 61 6e 20 66 61 69 6c 20 61 6e 64 20 72 65 74  can fail and ret
1d00: 75 72 6e 20 61 20 4e 55 4c 4c 20 72 65 73 75 6c  urn a NULL resul
1d10: 74 2e 20 20 4e 65 77 20 66 6f 72 6d 73 20 6f 66  t.  New forms of
1d20: 20 76 61 72 69 61 62 6c 65 2d 6d 61 6e 69 70 75   variable-manipu
1d30: 6c 61 74 69 6f 6e 0a 70 72 6f 63 65 64 75 72 65  lation.procedure
1d40: 73 3a 20 20 54 63 6c 5f 47 65 74 56 61 72 32 2c  s:  Tcl_GetVar2,
1d50: 20 54 63 6c 5f 53 65 74 56 61 72 32 2c 20 65 74   Tcl_SetVar2, et
1d60: 63 2e 20 20 53 79 6e 74 61 78 20 6f 66 20 76 61  c.  Syntax of va
1d70: 72 69 61 62 6c 65 0a 24 2d 6e 6f 74 61 74 69 6f  riable.$-notatio
1d80: 6e 20 63 68 61 6e 67 65 64 20 74 6f 20 73 75 70  n changed to sup
1d90: 70 6f 72 74 20 61 72 72 61 79 20 69 6e 64 65 78  port array index
1da0: 69 6e 67 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  ing..*** POTENTI
1db0: 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
1dc0: 54 59 20 2a 2a 2a 0a 0a 35 35 2e 20 37 2f 36 2f  TY ***..55. 7/6/
1dd0: 39 31 20 41 64 64 65 64 20 6e 65 77 20 6c 69 73  91 Added new lis
1de0: 74 2d 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 70  t-manipulation p
1df0: 72 6f 63 65 64 75 72 65 73 3a 20 20 54 63 6c 5f  rocedures:  Tcl_
1e00: 53 63 61 6e 45 6c 65 6d 65 6e 74 2c 0a 54 63 6c  ScanElement,.Tcl
1e10: 5f 43 6f 6e 76 65 72 74 45 6c 65 6d 65 6e 74 2c  _ConvertElement,
1e20: 20 54 63 6c 5f 41 70 70 65 6e 64 45 6c 65 6d 65   Tcl_AppendEleme
1e30: 6e 74 2e 0a 0a 35 36 2e 20 37 2f 31 32 2f 39 31  nt...56. 7/12/91
1e40: 20 43 72 65 61 74 65 64 20 6e 65 77 20 70 72 6f   Created new pro
1e50: 63 65 64 75 72 65 20 54 63 6c 5f 45 76 61 6c 46  cedure Tcl_EvalF
1e60: 69 6c 65 2c 20 77 68 69 63 68 20 64 6f 65 73 20  ile, which does 
1e70: 6d 6f 73 74 20 6f 66 20 74 68 65 0a 77 6f 72 6b  most of the.work
1e80: 20 6f 66 20 74 68 65 20 22 73 6f 75 72 63 65 22   of the "source"
1e90: 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 35 37 2e 20 37   command...57. 7
1ea0: 2f 32 30 2f 39 31 20 4d 61 6a 6f 72 20 72 65 77  /20/91 Major rew
1eb0: 6f 72 6b 69 6e 67 20 6f 66 20 22 65 78 65 63 22  orking of "exec"
1ec0: 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 61 6c 6c 6f   command to allo
1ed0: 77 20 70 69 70 65 6c 69 6e 65 73 2c 0a 6d 6f 72  w pipelines,.mor
1ee0: 65 20 72 65 64 69 72 65 63 74 69 6f 6e 2c 20 62  e redirection, b
1ef0: 61 63 6b 67 72 6f 75 6e 64 2e 20 20 41 64 64 65  ackground.  Adde
1f00: 64 20 6e 65 77 20 70 72 6f 63 65 64 75 72 65 73  d new procedures
1f10: 20 54 63 6c 5f 46 6f 72 6b 2c 0a 54 63 6c 5f 57   Tcl_Fork,.Tcl_W
1f20: 61 69 74 50 69 64 73 2c 20 54 63 6c 5f 44 65 74  aitPids, Tcl_Det
1f30: 61 63 68 50 69 64 73 2c 20 61 6e 64 20 54 63 6c  achPids, and Tcl
1f40: 5f 43 72 65 61 74 65 50 69 70 65 6c 69 6e 65 2e  _CreatePipeline.
1f50: 20 20 54 68 65 20 6f 6c 64 0a 22 3c 20 69 6e 70    The old."< inp
1f60: 75 74 22 20 6e 6f 74 61 74 69 6f 6e 20 68 61 73  ut" notation has
1f70: 20 62 65 65 6e 20 72 65 70 6c 61 63 65 64 20 62   been replaced b
1f80: 79 20 22 3c 3c 20 69 6e 70 75 74 22 20 28 22 3c  y "<< input" ("<
1f90: 22 20 69 73 20 66 6f 72 0a 72 65 64 69 72 65 63  " is for.redirec
1fa0: 74 69 6f 6e 20 66 72 6f 6d 20 61 20 66 69 6c 65  tion from a file
1fb0: 29 2e 20 20 41 6c 73 6f 20 68 61 6e 64 6c 65 73  ).  Also handles
1fc0: 20 65 72 72 6f 72 20 72 65 74 75 72 6e 73 20 61   error returns a
1fd0: 6e 64 20 61 62 6e 6f 72 6d 61 6c 0a 74 65 72 6d  nd abnormal.term
1fe0: 69 6e 61 74 69 6f 6e 73 20 28 65 2e 67 2e 20 73  inations (e.g. s
1ff0: 69 67 6e 61 6c 73 29 20 64 69 66 66 65 72 65 6e  ignals) differen
2000: 74 6c 79 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  tly..*** POTENTI
2010: 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
2020: 54 59 20 2a 2a 2a 0a 0a 35 38 2e 20 37 2f 32 31  TY ***..58. 7/21
2030: 2f 39 31 20 41 64 64 65 64 20 22 61 70 70 65 6e  /91 Added "appen
2040: 64 22 20 61 6e 64 20 22 6c 61 70 70 65 6e 64 22  d" and "lappend"
2050: 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 35 39 2e 20   commands...59. 
2060: 37 2f 32 32 2f 39 31 20 52 65 77 6f 72 6b 65 64  7/22/91 Reworked
2070: 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 20   error messages 
2080: 61 6e 64 20 6d 61 6e 75 61 6c 20 65 6e 74 72 69  and manual entri
2090: 65 73 20 74 6f 20 75 73 65 0a 3f 78 3f 20 61 73  es to use.?x? as
20a0: 20 74 68 65 20 6e 6f 74 61 74 69 6f 6e 20 66 6f   the notation fo
20b0: 72 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 72  r an optional ar
20c0: 67 75 6d 65 6e 74 20 78 2c 20 69 6e 73 74 65 61  gument x, instea
20d0: 64 20 6f 66 20 5b 78 5d 2e 20 20 54 68 65 0a 62  d of [x].  The.b
20e0: 72 61 63 6b 65 74 20 6e 6f 74 61 74 69 6f 6e 20  racket notation 
20f0: 77 61 73 20 6f 66 74 65 6e 20 63 6f 6e 66 75 73  was often confus
2100: 65 64 20 77 69 74 68 20 74 68 65 20 75 73 65 20  ed with the use 
2110: 6f 66 20 62 72 61 63 6b 65 74 73 20 66 6f 72 0a  of brackets for.
2120: 63 6f 6d 6d 61 6e 64 20 73 75 62 73 74 69 74 75  command substitu
2130: 74 69 6f 6e 2e 20 20 41 6c 73 6f 20 6d 6f 64 69  tion.  Also modi
2140: 66 69 65 64 20 65 72 72 6f 72 20 6d 65 73 73 61  fied error messa
2150: 67 65 73 20 74 6f 20 62 65 20 6d 6f 72 65 0a 63  ges to be more.c
2160: 6f 6e 73 69 73 74 65 6e 74 2e 0a 0a 36 30 2e 20  onsistent...60. 
2170: 37 2f 32 33 2f 39 31 20 54 63 6c 5f 44 65 6c 65  7/23/91 Tcl_Dele
2180: 74 65 43 6f 6d 6d 61 6e 64 20 6e 6f 77 20 72 65  teCommand now re
2190: 74 75 72 6e 73 20 61 6e 20 69 6e 64 69 63 61 74  turns an indicat
21a0: 69 6f 6e 20 6f 66 20 77 68 65 74 68 65 72 0a 6f  ion of whether.o
21b0: 72 20 6e 6f 74 20 74 68 65 20 63 6f 6d 6d 61 6e  r not the comman
21c0: 64 20 61 63 74 75 61 6c 6c 79 20 65 78 69 73 74  d actually exist
21d0: 65 64 2c 20 61 6e 64 20 74 68 65 20 22 72 65 6e  ed, and the "ren
21e0: 61 6d 65 22 20 63 6f 6d 6d 61 6e 64 20 75 73 65  ame" command use
21f0: 73 0a 74 68 69 73 20 69 6e 66 6f 72 6d 61 74 69  s.this informati
2200: 6f 6e 20 74 6f 20 72 65 74 75 72 6e 20 61 6e 20  on to return an 
2210: 65 72 72 6f 72 20 69 66 20 61 6e 20 61 74 74 65  error if an atte
2220: 6d 70 74 20 69 73 20 6d 61 64 65 20 74 6f 20 64  mpt is made to d
2230: 65 6c 65 74 65 0a 61 20 6e 6f 6e 2d 65 78 69 73  elete.a non-exis
2240: 74 65 6e 74 20 63 6f 6d 6d 61 6e 64 2e 0a 2a 2a  tent command..**
2250: 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
2260: 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
2270: 0a 36 31 2e 20 37 2f 32 35 2f 39 31 20 41 64 64  .61. 7/25/91 Add
2280: 65 64 20 6e 65 77 20 22 65 72 72 6f 72 43 6f 64  ed new "errorCod
2290: 65 22 20 6d 65 63 68 61 6e 69 73 6d 2c 20 61 6c  e" mechanism, al
22a0: 6f 6e 67 20 77 69 74 68 20 70 72 6f 63 65 64 75  ong with procedu
22b0: 72 65 73 0a 54 63 6c 5f 53 65 74 45 72 72 6f 72  res.Tcl_SetError
22c0: 43 6f 64 65 2c 20 54 63 6c 5f 55 6e 69 78 45 72  Code, Tcl_UnixEr
22d0: 72 6f 72 2c 20 61 6e 64 20 54 63 6c 5f 52 65 73  ror, and Tcl_Res
22e0: 65 74 52 65 73 75 6c 74 2e 20 20 52 65 6e 61 6d  etResult.  Renam
22f0: 65 64 0a 54 63 6c 5f 52 65 74 75 72 6e 20 74 6f  ed.Tcl_Return to
2300: 20 54 63 6c 5f 53 65 74 52 65 73 75 6c 74 2c 20   Tcl_SetResult, 
2310: 62 75 74 20 6c 65 66 74 20 61 20 23 64 65 66 69  but left a #defi
2320: 6e 65 20 66 6f 72 20 54 63 6c 5f 52 65 74 75 72  ne for Tcl_Retur
2330: 6e 20 74 6f 0a 61 76 6f 69 64 20 63 6f 6d 70 61  n to.avoid compa
2340: 74 69 62 69 6c 69 74 79 20 70 72 6f 62 6c 65 6d  tibility problem
2350: 73 2e 0a 0a 36 32 2e 20 37 2f 32 36 2f 39 31 20  s...62. 7/26/91 
2360: 45 78 74 65 6e 64 65 64 20 22 63 61 73 65 22 20  Extended "case" 
2370: 63 6f 6d 6d 61 6e 64 20 77 69 74 68 20 61 6c 74  command with alt
2380: 65 72 6e 61 74 65 20 73 79 6e 74 61 78 20 77 68  ernate syntax wh
2390: 65 72 65 20 61 6c 6c 0a 70 61 74 74 65 72 6e 73  ere all.patterns
23a0: 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73 20 61 72   and commands ar
23b0: 65 20 74 6f 67 65 74 68 65 72 20 69 6e 20 61 20  e together in a 
23c0: 73 69 6e 67 6c 65 20 6c 69 73 74 20 61 72 67 75  single list argu
23d0: 6d 65 6e 74 3a 20 20 6d 61 6b 65 73 0a 69 74 20  ment:  makes.it 
23e0: 65 61 73 69 65 72 20 74 6f 20 77 72 69 74 65 20  easier to write 
23f0: 6d 75 6c 74 69 2d 6c 69 6e 65 20 63 61 73 65 20  multi-line case 
2400: 73 74 61 74 65 6d 65 6e 74 73 2e 0a 0a 36 33 2e  statements...63.
2410: 20 37 2f 32 37 2f 39 31 20 43 68 61 6e 67 65 64   7/27/91 Changed
2420: 20 22 70 72 69 6e 74 22 20 63 6f 6d 6d 61 6e 64   "print" command
2430: 20 74 6f 20 70 65 72 66 6f 72 6d 20 74 69 6c 64   to perform tild
2440: 65 2d 73 75 62 73 74 69 74 75 74 69 6f 6e 20 6f  e-substitution o
2450: 6e 0a 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 2e  n.the file name.
2460: 0a 0a 36 34 2e 20 37 2f 32 37 2f 39 31 20 41 64  ..64. 7/27/91 Ad
2470: 64 65 64 20 22 74 6f 6c 6f 77 65 72 22 2c 20 22  ded "tolower", "
2480: 74 6f 75 70 70 65 72 22 2c 20 22 74 72 69 6d 22  toupper", "trim"
2490: 2c 20 22 74 72 69 6d 6c 65 66 74 22 2c 20 61 6e  , "trimleft", an
24a0: 64 20 22 74 72 69 6d 72 69 67 68 74 22 0a 6f 70  d "trimright".op
24b0: 74 69 6f 6e 73 20 74 6f 20 22 73 74 72 69 6e 67  tions to "string
24c0: 22 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 36 35 2e 20  " command...65. 
24d0: 37 2f 32 39 2f 39 31 20 41 64 64 65 64 20 22 61  7/29/91 Added "a
24e0: 74 69 6d 65 22 2c 20 22 6d 74 69 6d 65 22 2c 20  time", "mtime", 
24f0: 22 73 69 7a 65 22 2c 20 61 6e 64 20 22 73 74 61  "size", and "sta
2500: 74 22 20 6f 70 74 69 6f 6e 73 20 74 6f 20 22 66  t" options to "f
2510: 69 6c 65 22 0a 63 6f 6d 6d 61 6e 64 2e 0a 0a 36  ile".command...6
2520: 36 2e 20 38 2f 31 2f 39 31 20 41 64 64 65 64 20  6. 8/1/91 Added 
2530: 22 73 70 6c 69 74 22 20 61 6e 64 20 22 6a 6f 69  "split" and "joi
2540: 6e 22 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 36 37  n" commands...67
2550: 2e 20 38 2f 31 31 2f 39 31 20 41 64 64 65 64 20  . 8/11/91 Added 
2560: 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 66 69 6c  commands for fil
2570: 65 20 49 2f 4f 2c 20 69 6e 63 6c 75 64 69 6e 67  e I/O, including
2580: 20 22 6f 70 65 6e 22 2c 20 22 63 6c 6f 73 65 22   "open", "close"
2590: 2c 0a 22 72 65 61 64 22 2c 20 22 67 65 74 73 22  ,."read", "gets"
25a0: 2c 20 22 70 75 74 73 22 2c 20 22 66 6c 75 73 68  , "puts", "flush
25b0: 22 2c 20 22 65 6f 66 22 2c 20 22 73 65 65 6b 22  ", "eof", "seek"
25c0: 2c 20 61 6e 64 20 22 74 65 6c 6c 22 2e 0a 0a 36  , and "tell"...6
25d0: 38 2e 20 38 2f 31 34 2f 39 31 20 53 77 69 74 63  8. 8/14/91 Switc
25e0: 68 65 64 20 74 6f 20 75 73 65 20 61 20 68 61 73  hed to use a has
25f0: 68 20 74 61 62 6c 65 20 66 6f 72 20 63 6f 6d 6d  h table for comm
2600: 61 6e 64 20 6c 6f 6f 6b 75 70 73 2e 20 20 43 6f  and lookups.  Co
2610: 6d 6d 61 6e 64 0a 61 62 62 72 65 76 69 61 74 69  mmand.abbreviati
2620: 6f 6e 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 68 61  ons no longer ha
2630: 76 65 20 64 69 72 65 63 74 20 73 75 70 70 6f 72  ve direct suppor
2640: 74 20 69 6e 20 74 68 65 20 54 63 6c 20 69 6e 74  t in the Tcl int
2650: 65 72 70 72 65 74 65 72 2c 20 62 75 74 0a 69 74  erpreter, but.it
2660: 20 73 68 6f 75 6c 64 20 62 65 20 70 6f 73 73 69   should be possi
2670: 62 6c 65 20 74 6f 20 73 69 6d 75 6c 61 74 65 20  ble to simulate 
2680: 74 68 65 6d 20 77 69 74 68 20 74 68 65 20 61 75  them with the au
2690: 74 6f 2d 6c 6f 61 64 20 66 65 61 74 75 72 65 73  to-load features
26a0: 0a 64 65 73 63 72 69 62 65 64 20 62 65 6c 6f 77  .described below
26b0: 2e 20 20 54 68 65 20 22 6e 6f 41 62 62 72 65 76  .  The "noAbbrev
26c0: 22 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 6f  " variable is no
26d0: 20 6c 6f 6e 67 65 72 20 75 73 65 64 20 62 79 20   longer used by 
26e0: 54 63 6c 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  Tcl..*** POTENTI
26f0: 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
2700: 54 59 20 2a 2a 2a 0a 0a 36 38 2e 35 20 38 2f 31  TY ***..68.5 8/1
2710: 35 2f 39 31 20 41 64 64 65 64 20 73 75 70 70 6f  5/91 Added suppo
2720: 72 74 20 66 6f 72 20 22 75 6e 6b 6e 6f 77 6e 22  rt for "unknown"
2730: 20 63 6f 6d 6d 61 6e 64 2c 20 77 68 69 63 68 20   command, which 
2740: 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 0a 63  can be used to.c
2750: 6f 6d 70 6c 65 74 65 20 61 62 62 72 65 76 69 61  omplete abbrevia
2760: 74 69 6f 6e 73 2c 20 61 75 74 6f 2d 6c 6f 61 64  tions, auto-load
2770: 20 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2c 20   library files, 
2780: 61 75 74 6f 2d 65 78 65 63 20 73 68 65 6c 6c 0a  auto-exec shell.
2790: 63 6f 6d 6d 61 6e 64 73 2c 20 65 74 63 2e 0a 0a  commands, etc...
27a0: 36 39 2e 20 38 2f 31 35 2f 39 31 20 41 64 64 65  69. 8/15/91 Adde
27b0: 64 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 73 77  d -nocomplain sw
27c0: 69 74 63 68 20 74 6f 20 22 67 6c 6f 62 22 20 63  itch to "glob" c
27d0: 6f 6d 6d 61 6e 64 2e 0a 0a 37 30 2e 20 38 2f 32  ommand...70. 8/2
27e0: 30 2f 39 31 20 41 64 64 65 64 20 22 69 6e 66 6f  0/91 Added "info
27f0: 20 6c 69 62 72 61 72 79 22 20 6f 70 74 69 6f 6e   library" option
2800: 20 61 6e 64 20 54 43 4c 5f 4c 49 42 52 41 52 59   and TCL_LIBRARY
2810: 20 23 64 65 66 69 6e 65 2e 20 20 41 6c 73 6f 0a   #define.  Also.
2820: 61 64 64 65 64 20 22 69 6e 66 6f 20 73 63 72 69  added "info scri
2830: 70 74 22 20 6f 70 74 69 6f 6e 2e 0a 0a 37 31 2e  pt" option...71.
2840: 20 38 2f 32 30 2f 39 31 20 43 68 61 6e 67 65 64   8/20/91 Changed
2850: 20 22 66 69 6c 65 22 20 63 6f 6d 6d 61 6e 64 20   "file" command 
2860: 74 6f 20 74 61 6b 65 20 22 6f 70 74 69 6f 6e 22  to take "option"
2870: 20 61 72 67 75 6d 65 6e 74 20 61 73 20 66 69 72   argument as fir
2880: 73 74 0a 61 72 67 75 6d 65 6e 74 20 28 62 65 66  st.argument (bef
2890: 6f 72 65 20 66 69 6c 65 20 6e 61 6d 65 29 2c 20  ore file name), 
28a0: 66 6f 72 20 63 6f 6e 73 69 73 74 65 6e 63 79 20  for consistency 
28b0: 77 69 74 68 20 6f 74 68 65 72 20 54 63 6c 20 63  with other Tcl c
28c0: 6f 6d 6d 61 6e 64 73 2e 0a 2a 2a 2a 20 50 4f 54  ommands..*** POT
28d0: 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
28e0: 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 37 32 2e 20  BILITY ***..72. 
28f0: 38 2f 32 30 2f 39 31 20 43 68 61 6e 67 65 64 20  8/20/91 Changed 
2900: 66 6f 72 6d 61 74 20 6f 66 20 69 6e 66 6f 72 6d  format of inform
2910: 61 74 69 6f 6e 20 69 6e 20 24 65 72 72 6f 72 49  ation in $errorI
2920: 6e 66 6f 20 76 61 72 69 61 62 6c 65 3a 0a 63 6f  nfo variable:.co
2930: 6d 6d 65 6e 74 73 20 73 75 63 68 20 61 73 20 0a  mments such as .
2940: 20 20 20 20 28 22 77 68 69 6c 65 22 20 62 6f 64      ("while" bod
2950: 79 20 6c 69 6e 65 20 31 29 0a 61 72 65 20 6e 6f  y line 1).are no
2960: 77 20 6f 6e 20 73 65 70 61 72 61 74 65 20 6c 69  w on separate li
2970: 6e 65 73 20 66 72 6f 6d 20 63 6f 6d 6d 61 6e 64  nes from command
2980: 73 20 62 65 69 6e 67 20 65 78 65 63 75 74 65 64  s being executed
2990: 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  ..*** POTENTIAL 
29a0: 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
29b0: 2a 2a 2a 0a 0a 37 33 2e 20 38 2f 32 30 2f 39 31  ***..73. 8/20/91
29c0: 20 43 68 61 6e 67 65 64 20 54 63 6c 5f 41 70 70   Changed Tcl_App
29d0: 65 6e 64 52 65 73 75 6c 74 20 73 6f 20 74 68 61  endResult so tha
29e0: 74 20 69 74 20 28 65 76 65 6e 74 75 61 6c 6c 79  t it (eventually
29f0: 29 20 66 72 65 65 73 0a 6c 61 72 67 65 20 62 75  ) frees.large bu
2a00: 66 66 65 72 73 20 74 68 61 74 20 69 74 20 61 6c  ffers that it al
2a10: 6c 6f 63 61 74 65 73 2e 0a 0a 37 34 2e 20 38 2f  locates...74. 8/
2a20: 32 31 2f 39 31 20 41 64 64 65 64 20 22 6c 69 6e  21/91 Added "lin
2a30: 73 65 72 74 22 2c 20 22 6c 72 65 70 6c 61 63 65  sert", "lreplace
2a40: 22 2c 20 22 6c 73 65 61 72 63 68 22 2c 20 61 6e  ", "lsearch", an
2a50: 64 20 22 6c 73 6f 72 74 22 0a 63 6f 6d 6d 61 6e  d "lsort".comman
2a60: 64 73 2e 0a 0a 37 35 2e 20 38 2f 32 38 2f 39 31  ds...75. 8/28/91
2a70: 20 41 64 64 65 64 20 22 69 6e 63 72 22 20 61 6e   Added "incr" an
2a80: 64 20 22 65 78 69 74 22 20 63 6f 6d 6d 61 6e 64  d "exit" command
2a90: 73 2e 0a 0a 37 36 2e 20 38 2f 33 30 2f 39 31 20  s...76. 8/30/91 
2aa0: 41 64 64 65 64 20 22 72 65 67 65 78 70 22 20 61  Added "regexp" a
2ab0: 6e 64 20 22 72 65 67 73 75 62 22 20 63 6f 6d 6d  nd "regsub" comm
2ac0: 61 6e 64 73 2e 0a 0a 37 37 2e 20 39 2f 34 2f 39  ands...77. 9/4/9
2ad0: 31 20 43 68 61 6e 67 65 64 20 22 64 79 6e 61 6d  1 Changed "dynam
2ae0: 69 63 22 20 66 69 65 6c 64 20 69 6e 20 69 6e 74  ic" field in int
2af0: 65 72 70 72 65 74 65 72 73 20 74 6f 20 22 66 72  erpreters to "fr
2b00: 65 65 50 72 6f 63 22 20 28 70 72 6f 63 65 64 75  eeProc" (procedu
2b10: 72 65 0a 61 64 64 72 65 73 73 29 2e 20 20 54 68  re.address).  Th
2b20: 69 73 20 61 6c 6c 6f 77 73 20 66 6f 72 20 61 6c  is allows for al
2b30: 74 65 72 6e 61 74 69 76 65 20 73 74 6f 72 61 67  ternative storag
2b40: 65 20 6d 61 6e 61 67 65 72 73 2e 0a 2a 2a 2a 20  e managers..*** 
2b50: 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
2b60: 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 37  ATIBILITY ***..7
2b70: 38 2e 20 39 2f 36 2f 39 31 20 41 64 64 65 64 20  8. 9/6/91 Added 
2b80: 22 69 6e 64 65 78 22 2c 20 22 6c 65 6e 67 74 68  "index", "length
2b90: 22 2c 20 61 6e 64 20 22 72 61 6e 67 65 22 20 6f  ", and "range" o
2ba0: 70 74 69 6f 6e 73 20 74 6f 20 22 73 74 72 69 6e  ptions to "strin
2bb0: 67 22 0a 63 6f 6d 6d 61 6e 64 2e 20 20 41 64 64  g".command.  Add
2bc0: 65 64 20 22 6c 69 6e 64 65 78 22 2c 20 22 6c 6c  ed "lindex", "ll
2bd0: 65 6e 67 74 68 22 2c 20 61 6e 64 20 22 6c 72 61  ength", and "lra
2be0: 6e 67 65 22 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a  nge" commands...
2bf0: 37 39 2e 20 39 2f 38 2f 39 31 20 52 65 6d 6f 76  79. 9/8/91 Remov
2c00: 65 64 20 22 69 6e 64 65 78 22 2c 20 22 6c 65 6e  ed "index", "len
2c10: 67 74 68 22 2c 20 22 70 72 69 6e 74 22 20 61 6e  gth", "print" an
2c20: 64 20 22 72 61 6e 67 65 22 20 63 6f 6d 6d 61 6e  d "range" comman
2c30: 64 73 2e 0a 22 50 72 69 6e 74 22 20 69 73 20 72  ds.."Print" is r
2c40: 65 64 75 6e 64 61 6e 74 20 77 69 74 68 20 22 70  edundant with "p
2c50: 75 74 73 22 2c 20 62 75 74 20 6c 65 73 73 20 67  uts", but less g
2c60: 65 6e 65 72 61 6c 2c 20 61 6e 64 20 74 68 65 20  eneral, and the 
2c70: 6f 74 68 65 72 0a 63 6f 6d 6d 61 6e 64 73 20 61  other.commands a
2c80: 72 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68  re replaced with
2c90: 20 74 68 65 20 6e 65 77 20 63 6f 6d 6d 61 6e 64   the new command
2ca0: 73 20 64 65 73 63 72 69 62 65 64 20 69 6e 20 63  s described in c
2cb0: 68 61 6e 67 65 20 37 38 0a 61 62 6f 76 65 2e 0a  hange 78.above..
2cc0: 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
2cd0: 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
2ce0: 2a 0a 0a 38 30 2e 20 39 2f 38 2f 39 31 20 43 68  *..80. 9/8/91 Ch
2cf0: 61 6e 67 65 64 20 68 69 73 74 6f 72 79 20 72 65  anged history re
2d00: 76 69 73 69 6f 6e 20 74 6f 20 6f 63 63 75 72 20  vision to occur 
2d10: 65 76 65 6e 20 77 68 65 6e 20 68 69 73 74 6f 72  even when histor
2d20: 79 20 63 6f 6d 6d 61 6e 64 0a 69 73 20 6e 65 73  y command.is nes
2d30: 74 65 64 3b 20 20 6e 65 65 64 65 64 20 69 6e 20  ted;  needed in 
2d40: 6f 72 64 65 72 20 74 6f 20 61 6c 6c 6f 77 20 22  order to allow "
2d50: 68 69 73 74 6f 72 79 22 20 74 6f 20 62 65 20 69  history" to be i
2d60: 6e 76 6f 6b 65 64 20 66 72 6f 6d 0a 22 75 6e 6b  nvoked from."unk
2d70: 6e 6f 77 6e 22 20 70 72 6f 63 65 64 75 72 65 2e  nown" procedure.
2d80: 0a 0a 38 31 2e 20 39 2f 31 33 2f 39 31 20 43 68  ..81. 9/13/91 Ch
2d90: 61 6e 67 65 64 20 22 70 61 6e 69 63 22 20 6e 6f  anged "panic" no
2da0: 74 20 74 6f 20 75 73 65 20 76 66 70 72 69 6e 74  t to use vfprint
2db0: 66 20 28 69 74 27 73 20 75 67 6c 69 65 72 20 61  f (it's uglier a
2dc0: 6e 64 20 6c 65 73 73 0a 67 65 6e 65 72 61 6c 20  nd less.general 
2dd0: 6e 6f 77 2c 20 62 75 74 20 6d 61 6b 65 73 20 69  now, but makes i
2de0: 74 20 65 61 73 69 65 72 20 74 6f 20 72 75 6e 20  t easier to run 
2df0: 54 63 6c 20 6f 6e 20 73 79 73 74 65 6d 73 20 74  Tcl on systems t
2e00: 68 61 74 20 64 6f 6e 27 74 0a 68 61 76 65 20 76  hat don't.have v
2e10: 66 70 72 69 6e 74 66 29 2e 20 20 41 6c 73 6f 20  fprintf).  Also 
2e20: 63 68 61 6e 67 65 64 20 22 73 74 72 65 72 72 6f  changed "strerro
2e30: 72 22 20 6e 6f 74 20 74 6f 20 72 65 64 65 63 6c  r" not to redecl
2e40: 61 72 65 20 73 79 73 5f 65 72 72 6c 69 73 74 2e  are sys_errlist.
2e50: 0a 0a 38 32 2e 20 39 2f 31 39 2f 39 31 20 4c 6f  ..82. 9/19/91 Lo
2e60: 74 73 20 6f 66 20 63 68 61 6e 67 65 73 20 74 6f  ts of changes to
2e70: 20 69 6d 70 72 6f 76 65 20 70 6f 72 74 61 62 69   improve portabi
2e80: 6c 69 74 79 20 74 6f 20 64 69 66 66 65 72 65 6e  lity to differen
2e90: 74 20 55 4e 49 58 0a 73 79 73 74 65 6d 73 2c 20  t UNIX.systems, 
2ea0: 69 6e 63 6c 75 64 69 6e 67 20 61 64 64 69 74 69  including additi
2eb0: 6f 6e 20 6f 66 20 22 63 6f 6e 66 69 67 22 20 73  on of "config" s
2ec0: 63 72 69 70 74 20 74 6f 20 61 64 61 70 74 20 54  cript to adapt T
2ed0: 63 6c 20 74 6f 20 74 68 65 0a 63 6f 6e 66 69 67  cl to the.config
2ee0: 75 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 73  uration of the s
2ef0: 79 73 74 65 6d 20 69 74 27 73 20 62 65 69 6e 67  ystem it's being
2f00: 20 63 6f 6d 70 69 6c 65 64 20 6f 6e 2e 0a 0a 38   compiled on...8
2f10: 33 2e 20 39 2f 32 32 2f 39 31 20 41 64 64 65 64  3. 9/22/91 Added
2f20: 20 22 70 77 64 22 20 63 6f 6d 6d 61 6e 64 2e 0a   "pwd" command..
2f30: 0a 38 34 2e 20 39 2f 32 32 2f 39 31 20 52 65 6e  .84. 9/22/91 Ren
2f40: 61 6d 65 64 20 6d 61 6e 75 61 6c 20 70 61 67 65  amed manual page
2f50: 73 20 73 6f 20 74 68 61 74 20 74 68 65 69 72 20  s so that their 
2f60: 66 69 6c 65 6e 61 6d 65 73 20 61 72 65 20 6e 6f  filenames are no
2f70: 20 6d 6f 72 65 0a 74 68 61 6e 20 31 34 20 63 68   more.than 14 ch
2f80: 61 72 61 63 74 65 72 73 20 69 6e 20 6c 65 6e 67  aracters in leng
2f90: 74 68 2c 20 6d 6f 76 65 64 20 74 6f 20 22 64 6f  th, moved to "do
2fa0: 63 22 20 73 75 62 64 69 72 65 63 74 6f 72 79 2e  c" subdirectory.
2fb0: 0a 0a 38 35 2e 20 39 2f 32 34 2f 39 31 20 52 65  ..85. 9/24/91 Re
2fc0: 64 69 64 20 6d 61 6e 75 61 6c 20 65 6e 74 72 69  did manual entri
2fd0: 65 73 20 73 6f 20 74 68 65 79 20 63 6f 6e 74 61  es so they conta
2fe0: 69 6e 20 74 68 65 20 73 75 70 70 6c 65 6d 65 6e  in the supplemen
2ff0: 74 61 6c 0a 6d 61 63 72 6f 73 20 74 68 61 74 20  tal.macros that 
3000: 74 68 65 79 20 6e 65 65 64 3b 20 20 63 61 6e 20  they need;  can 
3010: 6a 75 73 74 20 70 72 69 6e 74 20 77 69 74 68 20  just print with 
3020: 22 74 72 6f 66 66 20 2d 6d 61 6e 22 20 6f 72 20  "troff -man" or 
3030: 22 6d 61 6e 22 0a 6e 6f 77 2e 0a 0a 38 36 2e 20  "man".now...86. 
3040: 39 2f 32 36 2f 39 31 20 43 72 65 61 74 65 64 20  9/26/91 Created 
3050: 69 6e 69 74 69 61 6c 20 76 65 72 73 69 6f 6e 20  initial version 
3060: 6f 66 20 73 63 72 69 70 74 20 6c 69 62 72 61 72  of script librar
3070: 79 2c 20 69 6e 63 6c 75 64 69 6e 67 0a 61 20 76  y, including.a v
3080: 65 72 73 69 6f 6e 20 6f 66 20 22 75 6e 6b 6e 6f  ersion of "unkno
3090: 77 6e 22 20 74 68 61 74 20 64 6f 65 73 20 61 75  wn" that does au
30a0: 74 6f 2d 6c 6f 61 64 69 6e 67 2c 20 61 75 74 6f  to-loading, auto
30b0: 2d 65 78 65 63 75 74 69 6f 6e 2c 20 61 6e 64 0a  -execution, and.
30c0: 61 62 62 72 65 76 69 61 74 69 6f 6e 20 65 78 70  abbreviation exp
30d0: 61 6e 73 69 6f 6e 2e 20 20 54 68 69 73 20 6c 69  ansion.  This li
30e0: 62 72 61 72 79 20 69 73 20 75 73 65 64 20 62 79  brary is used by
30f0: 20 74 63 6c 54 65 73 74 0a 61 75 74 6f 6d 61 74   tclTest.automat
3100: 69 63 61 6c 6c 79 2e 20 20 53 65 65 20 74 68 65  ically.  See the
3110: 20 22 6c 69 62 72 61 72 79 22 20 6d 61 6e 75 61   "library" manua
3120: 6c 20 65 6e 74 72 79 20 66 6f 72 20 64 65 74 61  l entry for deta
3130: 69 6c 73 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ils...----------
3140: 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
3150: 20 76 65 72 73 69 6f 6e 20 36 2e 30 2c 20 39 2f   version 6.0, 9/
3160: 32 36 2f 39 31 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  26/91 ----------
3170: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 38 37 2e 20 39 2f  --------..87. 9/
3180: 33 30 2f 39 31 20 4d 61 64 65 20 22 73 74 72 69  30/91 Made "stri
3190: 6e 67 20 74 6f 6c 6f 77 65 72 22 20 61 6e 64 20  ng tolower" and 
31a0: 22 73 74 72 69 6e 67 20 74 6f 75 70 70 65 72 22  "string toupper"
31b0: 20 63 68 65 63 6b 20 63 61 73 65 0a 62 65 66 6f   check case.befo
31c0: 72 65 20 63 6f 6e 76 65 72 74 69 6e 67 3a 20 20  re converting:  
31d0: 6f 6e 20 73 6f 6d 65 20 73 79 73 74 65 6d 73 2c  on some systems,
31e0: 20 22 74 6f 6c 6f 77 65 72 22 20 61 6e 64 20 22   "tolower" and "
31f0: 74 6f 75 70 70 65 72 22 20 61 73 73 75 6d 65 0a  toupper" assume.
3200: 74 68 61 74 20 63 68 61 72 61 63 74 65 72 20 61  that character a
3210: 6c 72 65 61 64 79 20 68 61 73 20 70 61 72 74 69  lready has parti
3220: 63 75 6c 61 72 20 63 61 73 65 2e 0a 0a 38 38 2e  cular case...88.
3230: 20 39 2f 33 30 2f 39 31 20 46 69 78 65 64 20 62   9/30/91 Fixed b
3240: 75 67 20 69 6e 20 54 63 6c 5f 53 65 74 52 65 73  ug in Tcl_SetRes
3250: 75 6c 74 3a 20 20 77 61 73 6e 27 74 20 61 6c 77  ult:  wasn't alw
3260: 61 79 73 20 73 65 74 74 69 6e 67 20 66 72 65 65  ays setting free
3270: 50 72 6f 63 0a 63 6f 72 72 65 63 74 6c 79 20 77  Proc.correctly w
3280: 68 65 6e 20 63 61 6c 6c 65 64 20 77 69 74 68 20  hen called with 
3290: 4e 55 4c 4c 20 76 61 6c 75 65 2e 20 20 54 68 69  NULL value.  Thi
32a0: 73 20 74 65 6e 64 65 64 20 74 6f 20 63 61 75 73  s tended to caus
32b0: 65 20 6d 65 6d 6f 72 79 0a 61 6c 6c 6f 63 61 74  e memory.allocat
32c0: 69 6f 6e 20 65 72 72 6f 72 73 20 6c 61 74 65 72  ion errors later
32d0: 2e 0a 0a 38 39 2e 20 31 30 2f 33 2f 39 31 20 41  ...89. 10/3/91 A
32e0: 64 64 65 64 20 22 75 70 76 61 72 22 20 63 6f 6d  dded "upvar" com
32f0: 6d 61 6e 64 2e 0a 0a 39 30 2e 20 31 30 2f 34 2f  mand...90. 10/4/
3300: 39 31 20 43 68 61 6e 67 65 64 20 22 66 6f 72 6d  91 Changed "form
3310: 61 74 22 20 73 6f 20 74 68 61 74 20 69 6e 74 65  at" so that inte
3320: 72 6e 61 6c 6c 79 20 69 74 20 63 6f 6e 76 65 72  rnally it conver
3330: 74 73 20 25 44 20 74 6f 20 25 6c 64 2c 0a 25 55  ts %D to %ld,.%U
3340: 20 74 6f 20 25 6c 75 2c 20 25 4f 20 74 6f 20 25   to %lu, %O to %
3350: 6c 6f 2c 20 61 6e 64 20 25 46 20 74 6f 20 25 66  lo, and %F to %f
3360: 2e 20 20 54 68 69 73 20 65 6c 69 6d 69 6e 61 74  .  This eliminat
3370: 65 73 20 73 6f 6d 65 20 63 6f 6d 70 61 74 69 62  es some compatib
3380: 69 6c 69 74 79 0a 70 72 6f 62 6c 65 6d 73 20 6f  ility.problems o
3390: 6e 20 73 6f 6d 65 20 6d 61 63 68 69 6e 65 73 20  n some machines 
33a0: 77 69 74 68 6f 75 74 20 61 66 66 65 63 74 69 6e  without affectin
33b0: 67 20 62 65 68 61 76 69 6f 72 2e 0a 0a 39 31 2e  g behavior...91.
33c0: 20 31 30 2f 31 30 2f 39 31 20 46 69 78 65 64 20   10/10/91 Fixed 
33d0: 62 75 67 20 69 6e 20 22 72 65 67 73 75 62 22 20  bug in "regsub" 
33e0: 74 68 61 74 20 63 61 75 73 65 64 20 63 6f 72 65  that caused core
33f0: 20 64 75 6d 70 73 20 77 69 74 68 20 74 68 65 20   dumps with the 
3400: 2d 61 6c 6c 0a 6f 70 74 69 6f 6e 20 77 68 65 6e  -all.option when
3410: 20 74 68 65 20 6c 61 73 74 20 6d 61 74 63 68 20   the last match 
3420: 77 61 73 6e 27 74 20 61 74 20 74 68 65 20 65 6e  wasn't at the en
3430: 64 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 2e  d of the string.
3440: 0a 0a 39 32 2e 20 31 30 2f 31 37 2f 39 31 20 46  ..92. 10/17/91 F
3450: 69 78 65 64 20 70 72 6f 62 6c 65 6d 73 20 77 69  ixed problems wi
3460: 74 68 20 62 61 63 6b 73 6c 61 73 68 20 73 65 71  th backslash seq
3470: 75 65 6e 63 65 73 3a 20 20 5c 72 20 73 75 70 70  uences:  \r supp
3480: 6f 72 74 20 77 61 73 0a 69 6e 63 6f 6d 70 6c 65  ort was.incomple
3490: 74 65 20 61 6e 64 20 5c 66 20 61 6e 64 20 5c 76  te and \f and \v
34a0: 20 77 65 72 65 6e 27 74 20 73 75 70 70 6f 72 74   weren't support
34b0: 65 64 20 61 74 20 61 6c 6c 2e 0a 0a 39 33 2e 20  ed at all...93. 
34c0: 31 30 2f 32 34 2f 39 31 20 41 64 64 65 64 20 54  10/24/91 Added T
34d0: 63 6c 5f 49 6e 69 74 48 69 73 74 6f 72 79 20 70  cl_InitHistory p
34e0: 72 6f 63 65 64 75 72 65 2e 0a 0a 39 34 2e 20 31  rocedure...94. 1
34f0: 30 2f 32 34 2f 39 31 20 43 68 61 6e 67 65 64 20  0/24/91 Changed 
3500: 22 72 65 67 65 78 70 22 20 74 6f 20 73 74 6f 72  "regexp" to stor
3510: 65 20 22 2d 31 20 2d 31 22 20 69 6e 20 73 75 62  e "-1 -1" in sub
3520: 4d 61 74 63 68 56 61 72 73 20 74 68 61 74 0a 64  MatchVars that.d
3530: 6f 6e 27 74 20 6d 61 74 63 68 2c 20 72 61 74 68  on't match, rath
3540: 65 72 20 74 68 61 6e 20 72 65 74 75 72 6e 69 6e  er than returnin
3550: 67 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 39 35 2e  g an error...95.
3560: 20 31 30 2f 32 37 2f 39 31 20 4d 6f 64 69 66 69   10/27/91 Modifi
3570: 65 64 20 22 72 65 67 65 78 70 22 20 74 6f 20 72  ed "regexp" to r
3580: 65 74 75 72 6e 20 61 63 74 75 61 6c 20 73 74 72  eturn actual str
3590: 69 6e 67 73 20 69 6e 20 6d 61 74 63 68 56 61 72  ings in matchVar
35a0: 0a 61 6e 64 20 73 75 62 4d 61 74 63 68 56 61 72  .and subMatchVar
35b0: 73 20 69 6e 73 74 65 61 64 20 6f 66 20 69 6e 64  s instead of ind
35c0: 69 63 65 73 2e 20 20 41 64 64 65 64 20 22 2d 69  ices.  Added "-i
35d0: 6e 64 69 63 65 73 22 20 73 77 69 74 63 68 20 74  ndices" switch t
35e0: 6f 20 63 61 75 73 65 0a 69 6e 64 69 63 65 73 20  o cause.indices 
35f0: 74 6f 20 62 65 20 72 65 74 75 72 6e 65 64 2e 0a  to be returned..
3600: 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
3610: 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
3620: 2a 0a 0a 39 36 2e 20 31 30 2f 32 37 2f 39 31 20  *..96. 10/27/91 
3630: 46 69 78 65 64 20 62 75 67 20 69 6e 20 22 73 63  Fixed bug in "sc
3640: 61 6e 22 20 77 68 65 72 65 20 69 74 20 75 73 65  an" where it use
3650: 64 20 68 61 72 64 77 69 72 65 64 20 63 6f 6e 73  d hardwired cons
3660: 74 61 6e 74 73 20 66 6f 72 0a 73 69 7a 65 73 20  tants for.sizes 
3670: 6f 66 20 66 6c 6f 61 74 73 20 61 6e 64 20 64 6f  of floats and do
3680: 75 62 6c 65 73 20 69 6e 73 74 65 61 64 20 6f 66  ubles instead of
3690: 20 75 73 69 6e 67 20 22 73 69 7a 65 6f 66 22 2e   using "sizeof".
36a0: 0a 0a 39 37 2e 20 31 30 2f 33 31 2f 39 31 20 46  ..97. 10/31/91 F
36b0: 69 78 65 64 20 62 75 67 20 69 6e 20 74 63 6c 50  ixed bug in tclP
36c0: 61 72 73 65 2e 63 20 77 68 65 72 65 20 70 61 72  arse.c where par
36d0: 73 65 2d 72 65 6c 61 74 65 64 20 65 72 72 6f 72  se-related error
36e0: 20 6d 65 73 73 61 67 65 73 0a 77 65 72 65 6e 27   messages.weren'
36f0: 74 20 62 65 69 6e 67 20 73 74 6f 72 61 67 65 2d  t being storage-
3700: 6d 61 6e 61 67 65 64 20 63 6f 72 72 65 63 74 6c  managed correctl
3710: 79 2c 20 63 61 75 73 69 6e 67 20 73 70 75 72 69  y, causing spuri
3720: 6f 75 73 20 66 72 65 65 27 73 2e 0a 0a 39 38 2e  ous free's...98.
3730: 20 31 30 2f 33 31 2f 39 31 20 46 6f 72 6d 20 66   10/31/91 Form f
3740: 65 65 64 20 61 6e 64 20 76 65 72 74 69 63 61 6c  eed and vertical
3750: 20 74 61 62 20 63 68 61 72 61 63 74 65 72 73 20   tab characters 
3760: 61 72 65 20 6e 6f 77 20 63 6f 6e 73 69 64 65 72  are now consider
3770: 65 64 0a 74 6f 20 62 65 20 73 70 61 63 65 20 63  ed.to be space c
3780: 68 61 72 61 63 74 65 72 73 20 62 79 20 74 68 65  haracters by the
3790: 20 70 61 72 73 65 72 2e 0a 0a 39 39 2e 20 31 30   parser...99. 10
37a0: 2f 33 31 2f 39 31 20 41 64 64 65 64 20 54 43 4c  /31/91 Added TCL
37b0: 5f 4c 45 41 56 45 5f 45 52 52 5f 4d 53 47 20 66  _LEAVE_ERR_MSG f
37c0: 6c 61 67 20 74 6f 20 70 72 6f 63 65 64 75 72 65  lag to procedure
37d0: 73 20 6c 69 6b 65 20 54 63 6c 5f 53 65 74 56 61  s like Tcl_SetVa
37e0: 72 2e 0a 0a 31 30 30 2e 20 31 31 2f 37 2f 39 31  r...100. 11/7/91
37f0: 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 22 63   Fixed bug in "c
3800: 61 73 65 22 20 77 68 65 72 65 20 22 69 6e 22 20  ase" where "in" 
3810: 61 72 67 75 6d 65 6e 74 20 63 6f 75 6c 64 6e 27  argument couldn'
3820: 74 20 62 65 20 6f 6d 69 74 74 65 64 0a 69 66 20  t be omitted.if 
3830: 61 6c 6c 20 63 61 73 65 20 62 72 61 6e 63 68 65  all case branche
3840: 73 20 77 65 72 65 20 65 6d 62 65 64 64 65 64 20  s were embedded 
3850: 69 6e 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74  in a single list
3860: 2e 0a 0a 31 30 31 2e 20 31 31 2f 37 2f 39 31 20  ...101. 11/7/91 
3870: 53 77 69 74 63 68 65 64 20 74 6f 20 75 73 65 20  Switched to use 
3880: 22 70 69 64 5f 74 22 20 61 6e 64 20 22 75 69 64  "pid_t" and "uid
3890: 5f 74 22 20 61 6e 64 20 6f 74 68 65 72 20 6f 66  _t" and other of
38a0: 66 69 63 69 61 6c 0a 50 4f 53 49 43 20 74 79 70  ficial.POSIC typ
38b0: 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 20  es and function 
38c0: 70 72 6f 74 6f 74 79 70 65 73 2e 0a 0a 2d 2d 2d  prototypes...---
38d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52  -------------- R
38e0: 65 6c 65 61 73 65 64 20 76 65 72 73 69 6f 6e 20  eleased version 
38f0: 36 2e 31 2c 20 31 31 2f 37 2f 39 31 20 2d 2d 2d  6.1, 11/7/91 ---
3900: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
3910: 0a 31 30 32 2e 20 31 32 2f 32 2f 39 31 20 4d 6f  .102. 12/2/91 Mo
3920: 64 69 66 69 65 64 20 54 63 6c 5f 53 63 61 6e 45  dified Tcl_ScanE
3930: 6c 65 6d 65 6e 74 20 61 6e 64 20 54 63 6c 5f 43  lement and Tcl_C
3940: 6f 6e 76 65 72 74 45 6c 65 6d 65 6e 74 20 69 6e  onvertElement in
3950: 20 73 65 76 65 72 61 6c 0a 77 61 79 73 2e 20 20   several.ways.  
3960: 46 69 72 73 74 2c 20 61 6c 6c 6f 77 65 64 20 63  First, allowed c
3970: 61 6c 6c 65 72 20 74 6f 20 72 65 71 75 65 73 74  aller to request
3980: 20 74 68 61 74 20 6f 6e 6c 79 20 62 61 63 6b 73   that only backs
3990: 6c 61 73 68 65 73 20 62 65 20 75 73 65 64 0a 28  lashes be used.(
39a0: 6e 6f 20 62 72 61 63 65 73 29 2e 20 20 53 65 63  no braces).  Sec
39b0: 6f 6e 64 2c 20 6d 61 64 65 20 54 63 6c 5f 43 6f  ond, made Tcl_Co
39c0: 6e 76 65 72 74 45 6c 65 6d 65 6e 74 20 6d 6f 72  nvertElement mor
39d0: 65 20 61 67 67 72 65 73 73 69 76 65 20 69 6e 20  e aggressive in 
39e0: 75 73 69 6e 67 0a 62 61 63 6b 73 6c 61 73 68 65  using.backslashe
39f0: 73 20 66 6f 72 20 62 72 61 63 65 73 20 61 6e 64  s for braces and
3a00: 20 71 75 6f 74 65 73 2e 0a 0a 31 30 33 2e 20 31   quotes...103. 1
3a10: 32 2f 35 2f 39 31 20 41 64 64 65 64 20 22 74 79  2/5/91 Added "ty
3a20: 70 65 22 2c 20 22 6c 73 74 61 74 22 2c 20 61 6e  pe", "lstat", an
3a30: 64 20 22 72 65 61 64 6c 69 6e 6b 22 20 6f 70 74  d "readlink" opt
3a40: 69 6f 6e 73 20 74 6f 20 22 66 69 6c 65 22 0a 63  ions to "file".c
3a50: 6f 6d 6d 61 6e 64 2c 20 70 6c 75 73 20 61 64 64  ommand, plus add
3a60: 65 64 20 6e 65 77 20 22 74 79 70 65 22 20 65 6c  ed new "type" el
3a70: 65 6d 65 6e 74 20 74 6f 20 6f 75 74 70 75 74 20  ement to output 
3a80: 6f 66 20 22 73 74 61 74 22 20 61 6e 64 20 22 6c  of "stat" and "l
3a90: 73 74 61 74 22 0a 6f 70 74 69 6f 6e 73 2e 0a 0a  stat".options...
3aa0: 31 30 34 2e 20 31 32 2f 31 30 2f 39 31 20 4d 61  104. 12/10/91 Ma
3ab0: 6e 75 61 6c 20 65 6e 74 72 69 65 73 20 68 61 64  nual entries had
3ac0: 20 66 69 72 73 74 20 6c 69 6e 65 73 20 74 68 61   first lines tha
3ad0: 74 20 63 61 75 73 65 64 20 22 6d 61 6e 22 20 70  t caused "man" p
3ae0: 72 6f 67 72 61 6d 0a 74 6f 20 74 72 79 20 77 65  rogram.to try we
3af0: 69 72 64 20 70 72 65 70 72 6f 63 65 73 73 6f 72  ird preprocessor
3b00: 2e 20 20 41 64 64 65 64 20 62 6c 61 6e 6b 20 63  .  Added blank c
3b10: 6f 6d 6d 65 6e 74 20 6c 69 6e 65 73 20 74 6f 20  omment lines to 
3b20: 66 69 78 20 70 72 6f 62 6c 65 6d 2e 0a 0a 31 30  fix problem...10
3b30: 35 2e 20 31 32 2f 31 36 2f 39 31 20 46 69 78 65  5. 12/16/91 Fixe
3b40: 64 20 61 20 66 65 77 20 62 75 67 73 20 69 6e 20  d a few bugs in 
3b50: 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 20 70 72 6f  auto_mkindex pro
3b60: 63 3a 20 20 77 61 73 6e 27 74 20 68 61 6e 64 6c  c:  wasn't handl
3b70: 69 6e 67 0a 65 72 72 6f 72 73 20 70 72 6f 70 65  ing.errors prope
3b80: 72 6c 79 2c 20 61 6e 64 20 68 61 64 6e 27 74 20  rly, and hadn't 
3b90: 62 65 65 6e 20 75 70 67 72 61 64 65 64 20 66 6f  been upgraded fo
3ba0: 72 20 6e 65 77 20 22 72 65 67 65 78 70 22 20 73  r new "regexp" s
3bb0: 79 6e 74 61 78 2e 0a 0a 31 30 36 2e 20 31 2f 32  yntax...106. 1/2
3bc0: 2f 39 32 20 46 69 78 65 64 20 62 75 67 20 69 6e  /92 Fixed bug in
3bd0: 20 22 66 69 6c 65 22 20 63 6f 6d 6d 61 6e 64 20   "file" command 
3be0: 77 68 65 72 65 20 69 74 20 64 69 64 6e 27 74 20  where it didn't 
3bf0: 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65 0a  properly handle.
3c00: 61 20 66 69 6c 65 20 6e 61 6d 65 73 20 63 6f 6e  a file names con
3c10: 74 61 69 6e 69 6e 67 20 74 69 6c 64 65 73 20 77  taining tildes w
3c20: 68 65 72 65 20 74 68 65 20 69 6e 64 69 63 61 74  here the indicat
3c30: 65 64 20 75 73 65 72 20 64 6f 65 73 6e 27 74 20  ed user doesn't 
3c40: 65 78 69 73 74 2e 0a 0a 31 30 37 2e 20 31 2f 32  exist...107. 1/2
3c50: 2f 39 32 20 46 69 78 65 64 20 6c 6f 74 73 20 6f  /92 Fixed lots o
3c60: 66 20 63 61 73 65 73 20 69 6e 20 74 63 6c 55 6e  f cases in tclUn
3c70: 69 78 53 74 72 2e 63 20 77 68 65 72 65 20 74 77  ixStr.c where tw
3c80: 6f 20 64 69 66 66 65 72 65 6e 74 0a 65 72 72 6e  o different.errn
3c90: 6f 20 73 79 6d 62 6f 6c 73 20 28 65 2e 67 2e 20  o symbols (e.g. 
3ca0: 45 57 4f 55 4c 44 42 4c 4f 43 4b 20 61 6e 64 20  EWOULDBLOCK and 
3cb0: 45 41 47 41 49 4e 29 20 68 61 76 65 20 74 68 65  EAGAIN) have the
3cc0: 20 73 61 6d 65 20 6e 75 6d 62 65 72 3b 20 20 54   same number;  T
3cd0: 63 6c 0a 77 69 6c 6c 20 6f 6e 6c 79 20 75 73 65  cl.will only use
3ce0: 20 6f 6e 65 20 6f 66 20 74 68 65 6d 2e 0a 0a 31   one of them...1
3cf0: 30 38 2e 20 31 2f 32 2f 39 32 20 4c 6f 74 73 20  08. 1/2/92 Lots 
3d00: 6f 66 20 63 68 61 6e 67 65 73 20 74 6f 20 63 6f  of changes to co
3d10: 6e 66 69 67 75 72 61 74 69 6f 6e 20 73 63 72 69  nfiguration scri
3d20: 70 74 20 74 6f 20 68 61 6e 64 6c 65 20 6d 61 6e  pt to handle man
3d30: 79 20 6d 6f 72 65 0a 73 79 73 74 65 6d 73 20 6d  y more.systems m
3d40: 6f 72 65 20 67 72 61 63 65 66 75 6c 6c 79 2e 20  ore gracefully. 
3d50: 20 45 2e 67 2e 20 73 68 6f 75 6c 64 20 6e 6f 77   E.g. should now
3d60: 20 64 65 74 65 63 74 20 74 68 65 20 62 6f 67 75   detect the bogu
3d70: 73 20 73 74 72 74 6f 75 6c 20 74 68 61 74 0a 63  s strtoul that.c
3d80: 6f 6d 65 73 20 77 69 74 68 20 41 49 58 20 61 6e  omes with AIX an
3d90: 64 20 73 75 62 73 74 69 74 75 74 65 20 54 63 6c  d substitute Tcl
3da0: 27 73 20 6f 77 6e 20 76 65 72 73 69 6f 6e 20 69  's own version i
3db0: 6e 73 74 65 61 64 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d  nstead...-------
3dc0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
3dd0: 73 65 64 20 76 65 72 73 69 6f 6e 20 36 2e 32 2c  sed version 6.2,
3de0: 20 31 2f 31 30 2f 39 32 20 2d 2d 2d 2d 2d 2d 2d   1/10/92 -------
3df0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 30 39  -----------..109
3e00: 2e 20 31 2f 32 30 2f 39 32 20 43 6f 6e 66 69 67  . 1/20/92 Config
3e10: 20 64 69 64 6e 27 74 20 68 61 76 65 20 63 6f 64   didn't have cod
3e20: 65 20 74 6f 20 61 63 74 75 61 6c 6c 79 20 75 73  e to actually us
3e30: 65 20 22 75 69 64 5f 74 22 20 76 61 72 69 61 62  e "uid_t" variab
3e40: 6c 65 0a 74 6f 20 73 65 74 20 54 43 4c 5f 55 49  le.to set TCL_UI
3e50: 54 5f 54 20 23 64 65 66 69 6e 65 2e 0a 0a 31 31  T_T #define...11
3e60: 30 2e 20 32 2f 31 30 2f 39 32 20 54 63 6c 5f 45  0. 2/10/92 Tcl_E
3e70: 76 61 6c 20 64 69 64 6e 27 74 20 70 72 6f 70 65  val didn't prope
3e80: 72 6c 79 20 72 65 73 65 74 20 22 6e 75 6d 4c 65  rly reset "numLe
3e90: 76 65 6c 73 22 20 76 61 72 69 61 62 6c 65 20 77  vels" variable w
3ea0: 68 65 6e 0a 74 6f 6f 2d 64 65 65 70 20 72 65 63  hen.too-deep rec
3eb0: 75 72 73 69 6f 6e 20 6f 63 63 75 72 72 65 64 2e  ursion occurred.
3ec0: 0a 0a 31 31 31 2e 20 32 2f 32 39 2f 39 32 20 41  ..111. 2/29/92 A
3ed0: 64 64 65 64 20 22 6f 6e 22 20 61 6e 64 20 22 6f  dded "on" and "o
3ee0: 66 66 22 20 74 6f 20 6b 65 79 77 6f 72 64 73 20  ff" to keywords 
3ef0: 61 63 63 65 70 74 65 64 20 62 79 20 54 63 6c 5f  accepted by Tcl_
3f00: 47 65 74 42 6f 6f 6c 65 61 6e 2e 0a 0a 31 31 32  GetBoolean...112
3f10: 2e 20 33 2f 31 39 2f 39 32 20 43 6f 6e 66 69 67  . 3/19/92 Config
3f20: 20 77 61 73 6e 27 74 20 69 6e 73 74 61 6c 6c 69   wasn't installi
3f30: 6e 67 20 64 65 66 61 75 6c 74 20 76 65 72 73 69  ng default versi
3f40: 6f 6e 20 6f 66 20 73 74 72 74 6f 64 2e 63 20 66  on of strtod.c f
3f50: 6f 72 0a 73 79 73 74 65 6d 73 20 74 68 61 74 20  or.systems that 
3f60: 64 6f 6e 27 74 20 68 61 76 65 20 6f 6e 65 20 69  don't have one i
3f70: 6e 20 6c 69 62 63 2e 61 2e 0a 0a 31 31 33 2e 20  n libc.a...113. 
3f80: 33 2f 32 33 2f 39 32 20 46 69 78 65 64 20 62 75  3/23/92 Fixed bu
3f90: 67 20 69 6e 20 74 63 6c 45 78 70 72 2e 63 20 77  g in tclExpr.c w
3fa0: 68 65 72 65 20 6e 75 6d 62 65 72 73 20 77 69 74  here numbers wit
3fb0: 68 20 6c 65 61 64 69 6e 67 20 22 2e 22 73 2c 0a  h leading "."s,.
3fc0: 6c 69 6b 65 20 30 2e 37 35 2c 20 63 6f 75 6c 64  like 0.75, could
3fd0: 6e 27 74 20 62 65 20 70 72 6f 70 65 72 6c 79 20  n't be properly 
3fe0: 73 75 62 73 74 69 74 75 74 65 64 20 69 6e 74 6f  substituted into
3ff0: 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 69 74   expressions wit
4000: 68 0a 76 61 72 69 61 62 6c 65 20 6f 72 20 63 6f  h.variable or co
4010: 6d 6d 61 6e 64 20 73 75 62 73 74 69 74 75 74 69  mmand substituti
4020: 6f 6e 2e 0a 0a 31 31 34 2e 20 33 2f 32 35 2f 39  on...114. 3/25/9
4030: 32 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 74  2 Fixed bug in t
4040: 63 6c 55 6e 69 78 41 5a 2e 63 20 77 68 65 72 65  clUnixAZ.c where
4050: 20 22 67 65 74 73 22 20 63 6f 6d 6d 61 6e 64 20   "gets" command 
4060: 77 61 73 6e 27 74 0a 63 68 65 63 6b 69 6e 67 20  wasn't.checking 
4070: 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61  to make sure tha
4080: 74 20 69 74 20 77 61 73 20 61 62 6c 65 20 74 6f  t it was able to
4090: 20 77 72 69 74 65 20 74 68 65 20 76 61 72 69 61   write the varia
40a0: 62 6c 65 20 4f 4b 2e 0a 0a 31 31 35 2e 20 34 2f  ble OK...115. 4/
40b0: 31 36 2f 39 32 20 46 69 78 65 64 20 62 75 67 20  16/92 Fixed bug 
40c0: 69 6e 20 74 63 6c 55 6e 69 78 41 5a 2e 63 20 77  in tclUnixAZ.c w
40d0: 68 65 72 65 20 22 72 65 61 64 22 20 63 6f 6d 6d  here "read" comm
40e0: 61 6e 64 20 64 69 64 6e 27 74 0a 63 6f 6d 70 75  and didn't.compu
40f0: 74 65 20 66 69 6c 65 20 73 69 7a 65 20 72 69 67  te file size rig
4100: 68 74 20 66 6f 72 20 64 65 76 69 63 65 20 66 69  ht for device fi
4110: 6c 65 73 2e 0a 0a 31 31 36 2e 20 34 2f 32 33 2f  les...116. 4/23/
4120: 39 32 20 46 69 78 65 64 20 62 75 74 20 69 6e 20  92 Fixed but in 
4130: 74 63 6c 43 6d 64 4d 5a 2e 63 20 77 68 65 72 65  tclCmdMZ.c where
4140: 20 22 74 72 61 63 65 20 76 69 6e 66 6f 22 20 77   "trace vinfo" w
4150: 61 73 20 6f 76 65 72 77 72 69 74 69 6e 67 0a 74  as overwriting.t
4160: 68 65 20 74 72 61 63 65 20 63 6f 6d 6d 61 6e 64  he trace command
4170: 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ...-------------
4180: 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65  ---- Released ve
4190: 72 73 69 6f 6e 20 36 2e 33 2c 20 35 2f 31 2f 39  rsion 6.3, 5/1/9
41a0: 32 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  2 --------------
41b0: 2d 2d 2d 2d 0a 0a 31 31 37 2e 20 35 2f 31 2f 39  ----..117. 5/1/9
41c0: 32 20 41 64 64 65 64 20 54 63 6c 5f 47 6c 6f 62  2 Added Tcl_Glob
41d0: 61 6c 45 76 61 6c 2e 0a 0a 31 31 38 2e 20 36 2f  alEval...118. 6/
41e0: 31 2f 39 32 20 43 68 61 6e 67 65 64 20 61 75 74  1/92 Changed aut
41f0: 6f 2d 6c 6f 61 64 20 66 61 63 69 6c 69 74 79 20  o-load facility 
4200: 74 6f 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20  to source files 
4210: 61 74 20 67 6c 6f 62 61 6c 20 6c 65 76 65 6c 2e  at global level.
4220: 0a 0a 31 31 39 2e 20 36 2f 38 2f 39 32 20 54 63  ..119. 6/8/92 Tc
4230: 6c 5f 50 61 72 73 65 56 61 72 20 77 61 73 6e 27  l_ParseVar wasn'
4240: 74 20 61 6c 77 61 79 73 20 73 65 74 74 69 6e 67  t always setting
4250: 20 74 65 72 6d 50 74 72 20 61 66 74 65 72 20 65   termPtr after e
4260: 72 72 6f 72 73 2c 20 77 68 69 63 68 0a 73 6f 6d  rrors, which.som
4270: 65 74 69 6d 65 73 20 63 61 75 73 65 64 20 63 6f  etimes caused co
4280: 72 65 20 64 75 6d 70 73 2e 0a 0a 31 32 30 2e 20  re dumps...120. 
4290: 36 2f 32 31 2f 39 32 20 46 69 78 65 64 20 62 75  6/21/92 Fixed bu
42a0: 67 20 69 6e 20 69 6e 69 74 69 61 6c 69 7a 61 74  g in initializat
42b0: 69 6f 6e 20 6f 66 20 72 65 67 65 78 70 20 70 61  ion of regexp pa
42c0: 74 74 65 72 6e 20 63 61 63 68 65 2e 20 20 54 68  ttern cache.  Th
42d0: 69 73 0a 62 75 67 20 63 61 75 73 65 64 20 73 65  is.bug caused se
42e0: 67 6d 65 6e 74 61 74 69 6f 6e 20 76 69 6f 6c 61  gmentation viola
42f0: 74 69 6f 6e 73 20 69 6e 20 72 65 67 65 78 70 20  tions in regexp 
4300: 63 6f 6d 6d 61 6e 64 73 20 75 6e 64 65 72 20 73  commands under s
4310: 6f 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a  ome conditions..
4320: 0a 31 32 31 2e 20 36 2f 32 32 2f 39 32 20 43 68  .121. 6/22/92 Ch
4330: 61 6e 67 65 64 20 69 6d 70 6c 65 6d 65 6e 74 61  anged implementa
4340: 74 69 6f 6e 20 6f 66 20 22 67 6c 6f 62 22 20 63  tion of "glob" c
4350: 6f 6d 6d 61 6e 64 20 74 6f 20 65 6c 69 6d 69 6e  ommand to elimin
4360: 61 74 65 0a 74 72 61 69 6c 69 6e 67 20 73 6c 61  ate.trailing sla
4370: 73 68 65 73 20 6f 6e 20 64 69 72 65 63 74 6f 72  shes on director
4380: 79 20 6e 61 6d 65 73 3a 20 20 74 68 65 79 20 63  y names:  they c
4390: 6f 6e 66 75 73 65 20 73 6f 6d 65 20 73 79 73 74  onfuse some syst
43a0: 65 6d 73 2e 20 20 54 68 65 72 65 0a 73 68 6f 75  ems.  There.shou
43b0: 6c 64 6e 27 74 20 62 65 20 61 6e 79 20 75 73 65  ldn't be any use
43c0: 72 2d 76 69 73 69 62 6c 65 20 63 68 61 6e 67 65  r-visible change
43d0: 73 20 69 6e 20 66 75 6e 63 74 69 6f 6e 61 6c 69  s in functionali
43e0: 74 79 20 65 78 63 65 70 74 20 66 6f 72 20 6e 61  ty except for na
43f0: 6d 65 73 0a 69 6e 20 65 72 72 6f 72 20 6d 65 73  mes.in error mes
4400: 73 61 67 65 73 20 6e 6f 74 20 68 61 76 69 6e 67  sages not having
4410: 20 74 72 61 69 6c 69 6e 67 20 73 6c 61 73 68 65   trailing slashe
4420: 73 2e 0a 0a 31 32 32 2e 20 37 2f 32 2f 39 32 20  s...122. 7/2/92 
4430: 46 69 78 65 64 20 62 75 67 20 74 68 61 74 20 63  Fixed bug that c
4440: 61 75 73 65 64 20 27 73 74 72 69 6e 67 20 6d 61  aused 'string ma
4450: 74 63 68 20 2a 2a 20 22 22 27 20 74 6f 20 72 65  tch ** ""' to re
4460: 74 75 72 6e 20 30 2e 0a 0a 31 32 33 2e 20 37 2f  turn 0...123. 7/
4470: 32 2f 39 32 20 46 69 78 65 64 20 62 75 67 20 69  2/92 Fixed bug i
4480: 6e 20 54 63 6c 5f 43 72 65 61 74 65 43 6d 64 42  n Tcl_CreateCmdB
4490: 75 66 20 77 68 65 72 65 20 69 74 20 77 61 73 6e  uf where it wasn
44a0: 27 74 20 69 6e 69 74 69 61 6c 69 7a 69 6e 67 0a  't initializing.
44b0: 74 68 65 20 62 75 66 66 65 72 20 74 6f 20 61 6e  the buffer to an
44c0: 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 0a 0a   empty string...
44d0: 31 32 34 2e 20 37 2f 36 2f 39 32 20 46 69 78 65  124. 7/6/92 Fixe
44e0: 64 20 62 75 67 20 69 6e 20 22 63 61 73 65 22 20  d bug in "case" 
44f0: 63 6f 6d 6d 61 6e 64 20 77 68 65 72 65 20 69 74  command where it
4500: 20 75 73 65 64 20 4e 55 4c 4c 20 70 61 74 74 65   used NULL patte
4510: 72 6e 20 73 74 72 69 6e 67 0a 61 66 74 65 72 20  rn string.after 
4520: 65 72 72 6f 72 73 20 69 6e 20 74 68 65 20 22 64  errors in the "d
4530: 65 66 61 75 6c 74 22 20 63 6c 61 75 73 65 2e 0a  efault" clause..
4540: 0a 31 32 35 2e 20 37 2f 32 35 2f 39 32 20 53 70  .125. 7/25/92 Sp
4550: 65 65 64 65 64 20 75 70 20 61 75 74 6f 5f 6c 6f  eeded up auto_lo
4560: 61 64 20 70 72 6f 63 65 64 75 72 65 3a 20 20 64  ad procedure:  d
4570: 6f 6e 27 74 20 72 65 72 65 61 64 20 61 6c 6c 20  on't reread all 
4580: 74 68 65 20 69 6e 64 65 78 0a 66 69 6c 65 73 20  the index.files 
4590: 75 6e 6c 65 73 73 20 74 68 65 20 70 61 74 68 20  unless the path 
45a0: 68 61 73 20 63 68 61 6e 67 65 64 2e 0a 0a 31 32  has changed...12
45b0: 36 2e 20 38 2f 33 2f 39 32 20 43 68 61 6e 67 65  6. 8/3/92 Change
45c0: 64 20 74 63 6c 55 6e 69 78 2e 68 20 74 6f 20 64  d tclUnix.h to d
45d0: 65 66 69 6e 65 20 4d 41 58 50 41 54 48 4c 45 4e  efine MAXPATHLEN
45e0: 20 66 72 6f 6d 20 50 41 54 48 5f 4d 41 58 2c 20   from PATH_MAX, 
45f0: 6e 6f 74 0a 5f 50 4f 53 49 58 5f 50 41 54 48 5f  not._POSIX_PATH_
4600: 4d 41 58 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  MAX...----------
4610: 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
4620: 20 76 65 72 73 69 6f 6e 20 36 2e 34 2c 20 38 2f   version 6.4, 8/
4630: 37 2f 39 32 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  7/92 -----------
4640: 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 32 37 2e 20 38 2f  -------..127. 8/
4650: 31 30 2f 39 32 20 43 68 61 6e 67 65 64 20 74 63  10/92 Changed tc
4660: 6c 42 61 73 69 63 2e 63 20 73 6f 20 74 68 61 74  lBasic.c so that
4670: 20 63 6f 6d 6d 65 6e 74 20 6c 69 6e 65 73 20 63   comment lines c
4680: 61 6e 20 62 65 20 63 6f 6e 74 69 6e 75 65 64 20  an be continued 
4690: 62 79 0a 70 75 74 74 69 6e 67 20 61 20 62 61 63  by.putting a bac
46a0: 6b 73 6c 61 73 68 20 62 65 66 6f 72 65 20 74 68  kslash before th
46b0: 65 20 6e 65 77 6c 69 6e 65 2e 0a 0a 31 32 38 2e  e newline...128.
46c0: 20 38 2f 32 31 2f 39 32 20 4d 6f 64 69 66 69 65   8/21/92 Modifie
46d0: 64 20 22 75 6e 6b 6e 6f 77 6e 22 20 74 6f 20 61  d "unknown" to a
46e0: 6c 6c 6f 77 20 74 68 65 20 73 6f 75 72 63 65 2d  llow the source-
46f0: 69 6e 67 20 6f 66 20 61 20 66 69 6c 65 20 66 6f  ing of a file fo
4700: 72 0a 61 6e 20 61 75 74 6f 2d 6c 6f 61 64 20 74  r.an auto-load t
4710: 6f 20 74 72 69 67 67 65 72 20 6f 74 68 65 72 20  o trigger other 
4720: 6e 65 73 74 65 64 20 61 75 74 6f 2d 6c 6f 61 64  nested auto-load
4730: 73 2c 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68  s, as long as th
4740: 65 72 65 20 69 73 6e 27 74 0a 61 6e 79 20 72 65  ere isn't.any re
4750: 63 75 72 73 69 6f 6e 20 6f 6e 20 74 68 65 20 73  cursion on the s
4760: 61 6d 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65  ame command name
4770: 2e 0a 0a 31 32 39 2e 20 38 2f 32 35 2f 39 32 20  ...129. 8/25/92 
4780: 4d 6f 64 69 66 69 65 64 20 22 66 6f 72 6d 61 74  Modified "format
4790: 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 61 6c 6c  " command to all
47a0: 6f 77 20 22 20 22 20 61 6e 64 20 22 2b 22 20 66  ow " " and "+" f
47b0: 6c 61 67 73 2c 20 61 6e 64 0a 61 6c 6c 6f 77 20  lags, and.allow 
47c0: 66 6c 61 67 73 20 69 6e 20 61 6e 79 20 6f 72 64  flags in any ord
47d0: 65 72 2e 0a 0a 31 33 30 2e 20 39 2f 31 34 2f 39  er...130. 9/14/9
47e0: 32 20 4d 6f 64 69 66 69 65 64 20 54 63 6c 5f 50  2 Modified Tcl_P
47f0: 61 72 73 65 56 61 72 20 73 6f 20 74 68 61 74 20  arseVar so that 
4800: 69 74 20 64 6f 65 73 6e 27 74 20 61 63 74 75 61  it doesn't actua
4810: 6c 6c 79 20 61 74 74 65 6d 70 74 0a 74 6f 20 6c  lly attempt.to l
4820: 6f 6f 6b 20 75 70 20 74 68 65 20 76 61 72 69 61  ook up the varia
4830: 62 6c 65 20 69 66 20 22 6e 6f 45 76 61 6c 22 20  ble if "noEval" 
4840: 6d 6f 64 65 20 69 73 20 69 6e 20 65 66 66 65 63  mode is in effec
4850: 74 20 69 6e 20 74 68 65 20 69 6e 74 65 72 70 72  t in the interpr
4860: 65 74 65 72 0a 28 69 74 20 6a 75 73 74 20 70 61  eter.(it just pa
4870: 72 73 65 73 20 74 68 65 20 6e 61 6d 65 29 2e 20  rses the name). 
4880: 20 54 68 69 73 20 61 76 6f 69 64 73 20 74 68 65   This avoids the
4890: 20 65 72 72 6f 72 73 20 74 68 61 74 20 75 73 65   errors that use
48a0: 64 20 74 6f 20 6f 63 63 75 72 0a 69 6e 20 73 74  d to occur.in st
48b0: 61 74 65 6d 65 6e 74 73 20 6c 69 6b 65 20 22 65  atements like "e
48c0: 78 70 72 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74  xpr {[info exist
48d0: 73 20 66 6f 6f 5d 20 26 26 20 24 66 6f 6f 7d 22  s foo] && $foo}"
48e0: 2e 0a 0a 31 33 31 2e 20 39 2f 31 34 2f 39 32 20  ...131. 9/14/92 
48f0: 46 69 78 65 64 20 62 75 67 20 69 6e 20 22 75 70  Fixed bug in "up
4900: 6c 65 76 65 6c 22 20 63 6f 6d 6d 61 6e 64 20 77  level" command w
4910: 68 65 72 65 20 69 74 20 64 69 64 6e 27 74 20 6f  here it didn't o
4920: 75 74 70 75 74 20 74 68 65 0a 63 6f 72 72 65 63  utput the.correc
4930: 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20  t error message 
4940: 69 66 20 61 20 6c 65 76 65 6c 20 77 61 73 20 73  if a level was s
4950: 70 65 63 69 66 69 65 64 20 62 75 74 20 6e 6f 20  pecified but no 
4960: 63 6f 6d 6d 61 6e 64 2e 0a 0a 31 33 32 2e 20 39  command...132. 9
4970: 2f 31 34 2f 39 32 20 52 65 6e 61 6d 65 64 20 6d  /14/92 Renamed m
4980: 61 6e 75 61 6c 20 65 6e 74 72 69 65 73 20 74 6f  anual entries to
4990: 20 68 61 76 65 20 65 78 74 65 6e 73 69 6f 6e 73   have extensions
49a0: 20 6c 69 6b 65 20 2e 33 20 61 6e 64 20 2e 6e 2c   like .3 and .n,
49b0: 0a 61 6e 64 20 61 64 64 65 64 20 22 69 6e 73 74  .and added "inst
49c0: 61 6c 6c 22 20 74 61 72 67 65 74 20 74 6f 20 4d  all" target to M
49d0: 61 6b 65 66 69 6c 65 2e 0a 0a 31 33 33 2e 20 39  akefile...133. 9
49e0: 2f 31 38 2f 39 32 20 4d 6f 64 69 66 69 65 64 20  /18/92 Modified 
49f0: 22 75 6e 6b 6e 6f 77 6e 22 20 63 6f 6d 6d 61 6e  "unknown" comman
4a00: 64 20 74 6f 20 65 6d 75 6c 61 74 65 20 21 21 2c  d to emulate !!,
4a10: 20 21 3c 6e 75 6d 3e 2c 20 61 6e 64 0a 5e 3c 6f   !<num>, and.^<o
4a20: 6c 64 3e 5e 3c 6e 65 77 3e 20 63 73 68 20 68 69  ld>^<new> csh hi
4a30: 73 74 6f 72 79 20 73 75 62 73 74 69 74 75 74 69  story substituti
4a40: 6f 6e 73 2e 0a 0a 31 33 34 2e 20 39 2f 32 31 2f  ons...134. 9/21/
4a50: 39 32 20 4d 61 64 65 20 74 68 65 20 63 6f 6e 66  92 Made the conf
4a60: 69 67 20 73 63 72 69 70 74 20 63 6c 65 76 65 72  ig script clever
4a70: 65 72 20 61 62 6f 75 74 20 66 69 67 75 72 69 6e  er about figurin
4a80: 67 20 6f 75 74 20 77 68 69 63 68 0a 73 77 69 74  g out which.swit
4a90: 63 68 65 73 20 74 6f 20 70 61 73 73 20 74 6f 20  ches to pass to 
4aa0: 22 6e 6d 22 2e 0a 0a 31 33 35 2e 20 39 2f 32 33  "nm"...135. 9/23
4ab0: 2f 39 32 20 46 69 78 65 64 20 74 63 6c 56 61 72  /92 Fixed tclVar
4ac0: 2e 63 20 74 6f 20 62 65 20 73 75 72 65 20 74 6f  .c to be sure to
4ad0: 20 63 6f 70 79 20 66 6c 61 67 73 20 77 68 65 6e   copy flags when
4ae0: 20 67 72 6f 77 69 6e 67 20 76 61 72 69 61 62 6c   growing variabl
4af0: 65 73 2e 0a 55 73 65 64 20 74 6f 20 66 6f 72 67  es..Used to forg
4b00: 65 74 20 61 62 6f 75 74 20 74 72 61 63 65 73 20  et about traces 
4b10: 69 6e 20 70 72 6f 67 72 65 73 73 20 61 6e 64 20  in progress and 
4b20: 6d 61 6b 65 20 65 78 74 72 61 20 72 65 63 75 72  make extra recur
4b30: 73 69 76 65 20 63 61 6c 6c 73 0a 6f 6e 20 74 72  sive calls.on tr
4b40: 61 63 65 20 70 72 6f 63 73 2e 0a 0a 31 33 36 2e  ace procs...136.
4b50: 20 39 2f 32 38 2f 39 32 20 46 69 78 65 64 20 62   9/28/92 Fixed b
4b60: 75 67 20 69 6e 20 61 75 74 6f 5f 72 65 73 65 74  ug in auto_reset
4b70: 20 77 68 65 72 65 20 69 74 20 77 61 73 20 75 6e   where it was un
4b80: 73 65 74 74 69 6e 67 20 76 61 72 69 61 62 6c 65  setting variable
4b90: 73 0a 74 68 61 74 20 6d 69 67 68 74 20 6e 6f 74  s.that might not
4ba0: 20 65 78 69 73 74 2e 0a 0a 31 33 37 2e 20 31 30   exist...137. 10
4bb0: 2f 37 2f 39 32 20 43 68 61 6e 67 65 64 20 22 70  /7/92 Changed "p
4bc0: 61 72 72 61 79 22 20 6c 69 62 72 61 72 79 20 70  array" library p
4bd0: 72 6f 63 65 64 75 72 65 20 74 6f 20 70 72 69 6e  rocedure to prin
4be0: 74 20 61 6e 79 20 61 72 72 61 79 0a 61 63 63 65  t any array.acce
4bf0: 73 73 69 62 6c 65 20 74 6f 20 63 61 6c 6c 65 72  ssible to caller
4c00: 2c 20 6c 6f 63 61 6c 20 6f 72 20 67 6c 6f 62 61  , local or globa
4c10: 6c 2e 0a 0a 31 33 38 2e 20 31 30 2f 31 35 2f 39  l...138. 10/15/9
4c20: 32 20 46 69 78 65 64 20 62 75 67 20 77 68 65 72  2 Fixed bug wher
4c30: 65 20 70 72 6f 70 61 67 61 74 69 6f 6e 20 6f 66  e propagation of
4c40: 20 6e 65 77 20 65 6e 76 69 72 6f 6e 6d 65 6e 74   new environment
4c50: 20 76 61 72 69 61 62 6c 65 0a 76 61 6c 75 65 73   variable.values
4c60: 20 61 6d 6f 6e 67 20 69 6e 74 65 72 70 72 65 74   among interpret
4c70: 65 72 73 20 74 6f 6f 6b 20 4e 21 20 74 69 6d 65  ers took N! time
4c80: 20 69 66 20 74 68 65 72 65 20 65 78 69 73 74 20   if there exist 
4c90: 4e 20 69 6e 74 65 72 70 72 65 74 65 72 73 2e 0a  N interpreters..
4ca0: 0a 31 33 39 2e 20 31 30 2f 31 36 2f 39 32 20 43  .139. 10/16/92 C
4cb0: 68 61 6e 67 65 64 20 61 75 74 6f 5f 72 65 73 65  hanged auto_rese
4cc0: 74 20 70 72 6f 63 65 64 75 72 65 20 73 6f 20 74  t procedure so t
4cd0: 68 61 74 20 69 74 20 61 6c 73 6f 20 64 65 6c 65  hat it also dele
4ce0: 74 65 73 20 61 6e 79 0a 65 78 69 73 74 69 6e 67  tes any.existing
4cf0: 20 70 72 6f 63 65 64 75 72 65 73 20 74 68 61 74   procedures that
4d00: 20 61 72 65 20 69 6e 20 74 68 65 20 61 75 74 6f   are in the auto
4d10: 5f 6c 6f 61 64 20 69 6e 64 65 78 20 28 74 68 65  _load index (the
4d20: 20 61 73 73 75 6d 70 74 69 6f 6e 20 69 73 0a 74   assumption is.t
4d30: 68 61 74 20 74 68 65 79 20 73 68 6f 75 6c 64 20  hat they should 
4d40: 62 65 20 72 65 2d 6c 6f 61 64 65 64 20 74 6f 20  be re-loaded to 
4d50: 67 65 74 20 74 68 65 20 6c 61 74 65 73 74 20 76  get the latest v
4d60: 65 72 73 69 6f 6e 73 29 2e 0a 0a 31 34 30 2e 20  ersions)...140. 
4d70: 31 30 2f 32 31 2f 39 32 20 46 69 78 65 64 20 62  10/21/92 Fixed b
4d80: 75 67 20 74 68 61 74 20 63 61 75 73 65 64 20 6c  ug that caused l
4d90: 69 73 74 73 20 74 6f 20 62 65 20 69 6e 63 6f 72  ists to be incor
4da0: 72 65 63 74 6c 79 20 67 65 6e 65 72 61 74 65 64  rectly generated
4db0: 0a 66 6f 72 20 65 6c 65 6d 65 6e 74 73 20 74 68  .for elements th
4dc0: 61 74 20 63 6f 6e 74 61 69 6e 65 64 20 62 61 63  at contained bac
4dd0: 6b 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65 20 73  kslash-newline s
4de0: 65 71 75 65 6e 63 65 73 2e 0a 0a 31 34 31 2e 20  equences...141. 
4df0: 31 32 2f 39 2f 39 32 20 41 64 64 65 64 20 73 75  12/9/92 Added su
4e00: 70 70 6f 72 74 20 66 6f 72 20 54 43 4c 5f 4c 49  pport for TCL_LI
4e10: 42 52 41 52 59 20 65 6e 76 69 72 6f 6e 6d 65 6e  BRARY environmen
4e20: 74 20 76 61 72 69 61 62 6c 65 3a 20 20 75 73 65  t variable:  use
4e30: 0a 69 74 20 61 73 20 6c 69 62 72 61 72 79 20 6c  .it as library l
4e40: 6f 63 61 74 69 6f 6e 20 69 66 20 69 74 27 73 20  ocation if it's 
4e50: 70 72 65 73 65 6e 74 2e 0a 0a 31 34 32 2e 20 31  present...142. 1
4e60: 32 2f 39 2f 39 32 20 41 64 64 65 64 20 22 69 6e  2/9/92 Added "in
4e70: 66 6f 20 63 6f 6d 70 6c 65 74 65 22 20 63 6f 6d  fo complete" com
4e80: 6d 61 6e 64 2c 20 54 63 6c 5f 43 6f 6d 6d 61 6e  mand, Tcl_Comman
4e90: 64 43 6f 6d 70 6c 65 74 65 20 70 72 6f 63 65 64  dComplete proced
4ea0: 75 72 65 2e 0a 0a 31 34 33 2e 20 31 32 2f 31 36  ure...143. 12/16
4eb0: 2f 39 32 20 43 68 61 6e 67 65 64 20 74 68 65 20  /92 Changed the 
4ec0: 4d 61 6b 65 66 69 6c 65 20 74 6f 20 63 68 65 63  Makefile to chec
4ed0: 6b 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 22  k to make sure "
4ee0: 63 6f 6e 66 69 67 22 20 68 61 73 20 62 65 65 6e  config" has been
4ef0: 0a 72 75 6e 20 28 63 61 6e 27 74 20 72 75 6e 20  .run (can't run 
4f00: 63 6f 6e 66 69 67 20 64 69 72 65 63 74 6c 79 20  config directly 
4f10: 66 72 6f 6d 20 74 68 65 20 4d 61 6b 65 66 69 6c  from the Makefil
4f20: 65 20 62 65 63 61 75 73 65 20 69 74 20 6d 6f 64  e because it mod
4f30: 69 66 69 65 73 20 74 68 65 0a 4d 61 6b 65 66 69  ifies the.Makefi
4f40: 6c 65 3b 20 20 74 68 75 73 20 6d 61 6b 65 20 68  le;  thus make h
4f50: 61 73 20 74 6f 20 62 65 20 72 75 6e 20 61 67 61  as to be run aga
4f60: 69 6e 20 61 66 74 65 72 20 72 75 6e 6e 69 6e 67  in after running
4f70: 20 63 6f 6e 66 69 67 29 2e 0a 0a 2d 2d 2d 2d 2d   config)...-----
4f80: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c  ------------ Rel
4f90: 65 61 73 65 64 20 76 65 72 73 69 6f 6e 20 36 2e  eased version 6.
4fa0: 35 2c 20 31 32 2f 31 37 2f 39 32 20 2d 2d 2d 2d  5, 12/17/92 ----
4fb0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
4fc0: 31 34 34 2e 20 31 32 2f 32 31 2f 39 32 20 43 68  144. 12/21/92 Ch
4fd0: 61 6e 67 65 64 20 63 6f 6e 66 69 67 20 74 6f 20  anged config to 
4fe0: 6c 6f 6f 6b 20 69 6e 20 73 65 76 65 72 61 6c 20  look in several 
4ff0: 70 6c 61 63 65 73 20 66 6f 72 20 6c 69 62 63 20  places for libc 
5000: 66 69 6c 65 2e 0a 0a 31 34 35 2e 20 31 32 2f 32  file...145. 12/2
5010: 33 2f 39 32 20 41 64 64 65 64 20 22 65 6c 73 65  3/92 Added "else
5020: 69 66 22 20 73 75 70 70 6f 72 74 20 74 6f 20 69  if" support to i
5030: 66 2e 20 20 41 6c 73 6f 2c 20 22 74 68 65 6e 22  f.  Also, "then"
5040: 2c 20 22 65 6c 73 65 22 2c 20 61 6e 64 0a 22 65  , "else", and."e
5050: 6c 73 65 69 66 22 20 6d 61 79 20 6e 6f 20 6c 6f  lseif" may no lo
5060: 6e 67 65 72 20 62 65 20 61 62 62 72 65 76 69 61  nger be abbrevia
5070: 74 65 64 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  ted..*** POTENTI
5080: 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
5090: 54 59 20 2a 2a 2a 0a 0a 31 34 36 2e 20 31 32 2f  TY ***..146. 12/
50a0: 32 38 2f 39 32 20 43 68 61 6e 67 65 64 20 22 70  28/92 Changed "p
50b0: 75 74 73 22 20 61 6e 64 20 22 72 65 61 64 22 20  uts" and "read" 
50c0: 74 6f 20 73 75 70 70 6f 72 74 20 69 6e 69 74 69  to support initi
50d0: 61 6c 20 22 2d 6e 6f 6e 65 77 6c 69 6e 65 22 0a  al "-nonewline".
50e0: 73 77 69 74 63 68 20 69 6e 73 74 65 61 64 20 6f  switch instead o
50f0: 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 22 6e 6f  f additional "no
5100: 6e 65 77 6c 69 6e 65 22 20 61 72 67 75 6d 65 6e  newline" argumen
5110: 74 2e 20 20 54 68 65 20 6f 6c 64 20 66 6f 72 6d  t.  The old form
5120: 20 69 73 0a 73 74 69 6c 6c 20 73 75 70 70 6f 72   is.still suppor
5130: 74 65 64 2c 20 62 75 74 20 69 74 20 69 73 20 64  ted, but it is d
5140: 69 73 63 6f 75 72 61 67 65 64 20 61 6e 64 20 69  iscouraged and i
5150: 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 64 6f 63 75  s no longer docu
5160: 6d 65 6e 74 65 64 2e 0a 41 6c 73 6f 20 63 68 61  mented..Also cha
5170: 6e 67 65 64 20 22 70 75 74 73 22 20 74 6f 20 6d  nged "puts" to m
5180: 61 6b 65 20 74 68 65 20 66 69 6c 65 20 61 72 67  ake the file arg
5190: 75 6d 65 6e 74 20 64 65 66 61 75 6c 74 20 74 6f  ument default to
51a0: 20 73 74 64 6f 75 74 3a 20 65 2e 67 2e 0a 22 70   stdout: e.g.."p
51b0: 75 74 73 20 66 6f 6f 22 20 77 69 6c 6c 20 70 72  uts foo" will pr
51c0: 69 6e 74 20 66 6f 6f 20 6f 6e 20 73 74 61 6e 64  int foo on stand
51d0: 61 72 64 20 6f 75 74 70 75 74 2e 0a 0a 31 34 37  ard output...147
51e0: 2e 20 31 2f 36 2f 39 33 20 46 69 78 65 64 20 62  . 1/6/93 Fixed b
51f0: 75 67 20 77 68 65 72 65 62 79 20 62 61 63 6b 73  ug whereby backs
5200: 6c 61 73 68 2d 6e 65 77 6c 69 6e 65 20 77 61 73  lash-newline was
5210: 6e 27 74 20 77 6f 72 6b 69 6e 67 20 77 68 65 6e  n't working when
5220: 0a 74 79 70 65 64 20 69 6e 74 65 72 61 63 74 69  .typed interacti
5230: 76 65 6c 79 2c 20 6f 72 20 69 6e 20 22 69 6e 66  vely, or in "inf
5240: 6f 20 63 6f 6d 70 6c 65 74 65 22 2e 0a 0a 31 34  o complete"...14
5250: 38 2e 20 31 2f 32 32 2f 39 33 20 46 69 78 65 64  8. 1/22/93 Fixed
5260: 20 62 75 67 73 20 69 6e 20 22 6c 72 65 70 6c 61   bugs in "lrepla
5270: 63 65 22 20 61 6e 64 20 22 6c 69 6e 73 65 72 74  ce" and "linsert
5280: 22 20 77 68 65 72 65 20 63 6c 6f 73 65 0a 71 75  " where close.qu
5290: 6f 74 65 73 20 77 65 72 65 20 62 65 69 6e 67 20  otes were being 
52a0: 6c 6f 73 74 20 66 72 6f 6d 20 6c 61 73 74 20 65  lost from last e
52b0: 6c 65 6d 65 6e 74 20 62 65 66 6f 72 65 20 72 65  lement before re
52c0: 70 6c 61 63 65 6d 65 6e 74 20 6f 72 0a 69 6e 73  placement or.ins
52d0: 65 72 74 69 6f 6e 2e 0a 0a 31 34 39 2e 20 31 2f  ertion...149. 1/
52e0: 32 39 2f 39 33 20 46 69 78 65 64 20 62 75 67 20  29/93 Fixed bug 
52f0: 69 6e 20 54 63 6c 5f 41 73 73 65 6d 62 6c 65 43  in Tcl_AssembleC
5300: 6d 64 20 77 68 65 72 65 20 69 74 20 77 61 73 6e  md where it wasn
5310: 27 74 20 72 65 71 75 69 72 69 6e 67 0a 61 20 6e  't requiring.a n
5320: 65 77 6c 69 6e 65 20 61 74 20 74 68 65 20 65 6e  ewline at the en
5330: 64 20 6f 66 20 61 20 6c 69 6e 65 20 62 65 66 6f  d of a line befo
5340: 72 65 20 63 6f 6e 73 69 64 65 72 69 6e 67 20 61  re considering a
5350: 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 62 65 0a 63   command to be.c
5360: 6f 6d 70 6c 65 74 65 2e 20 20 54 68 65 20 62 75  omplete.  The bu
5370: 67 20 63 61 75 73 65 64 20 73 6f 6d 65 20 76 65  g caused some ve
5380: 72 79 20 6c 6f 6e 67 20 6c 69 6e 65 73 20 69 6e  ry long lines in
5390: 20 73 63 72 69 70 74 20 66 69 6c 65 73 20 74 6f   script files to
53a0: 0a 62 65 20 70 72 6f 63 65 73 73 65 64 20 61 73  .be processed as
53b0: 20 6d 75 6c 74 69 70 6c 65 20 73 65 70 61 72 61   multiple separa
53c0: 74 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a 0a 31 35  te commands...15
53d0: 30 2e 20 31 2f 32 39 2f 39 33 20 56 61 72 69 6f  0. 1/29/93 Vario
53e0: 75 73 20 63 68 61 6e 67 65 73 20 69 6e 20 4d 61  us changes in Ma
53f0: 6b 65 66 69 6c 65 20 74 6f 20 61 64 64 20 6d 6f  kefile to add mo
5400: 72 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  re configuration
5410: 0a 6f 70 74 69 6f 6e 73 2c 20 73 69 6d 70 6c 69  .options, simpli
5420: 66 79 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2c  fy installation,
5430: 20 66 69 78 20 62 75 67 73 20 28 65 2e 67 2e 20   fix bugs (e.g. 
5440: 64 6f 6e 27 74 20 75 73 65 20 2d 66 20 73 77 69  don't use -f swi
5450: 74 63 68 0a 66 6f 72 20 63 70 29 2c 20 65 74 63  tch.for cp), etc
5460: 2e 0a 0a 31 35 31 2e 20 31 2f 32 39 2f 39 33 20  ...151. 1/29/93 
5470: 43 68 61 6e 67 65 64 20 22 6e 61 6d 65 31 22 20  Changed "name1" 
5480: 61 6e 64 20 22 6e 61 6d 65 32 22 20 69 64 65 6e  and "name2" iden
5490: 74 69 66 69 65 72 73 20 74 6f 20 22 70 61 72 74  tifiers to "part
54a0: 31 22 20 61 6e 64 0a 22 70 61 72 74 32 22 20 74  1" and."part2" t
54b0: 6f 20 61 76 6f 69 64 20 6e 61 6d 65 20 63 6f 6e  o avoid name con
54c0: 66 6c 69 63 74 73 20 77 69 74 68 20 73 74 75 70  flicts with stup
54d0: 69 64 20 43 2b 2b 20 69 6d 70 6c 65 6d 65 6e 74  id C++ implement
54e0: 61 74 69 6f 6e 73 20 74 68 61 74 0a 75 73 65 20  ations that.use 
54f0: 22 6e 61 6d 65 31 22 20 61 6e 64 20 22 6e 61 6d  "name1" and "nam
5500: 65 32 22 20 69 6e 20 61 20 72 65 73 65 72 76 65  e2" in a reserve
5510: 64 20 77 61 79 2e 0a 0a 31 35 32 2e 20 32 2f 31  d way...152. 2/1
5520: 2f 39 33 20 41 64 64 65 64 20 22 70 75 74 65 6e  /93 Added "puten
5530: 76 22 20 70 72 6f 63 65 64 75 72 65 20 74 6f 20  v" procedure to 
5540: 72 65 70 6c 61 63 65 20 74 68 65 20 73 74 61 6e  replace the stan
5550: 64 61 72 64 20 73 79 73 74 65 6d 0a 76 65 72 73  dard system.vers
5560: 69 6f 6e 20 73 6f 20 74 68 61 74 20 69 74 20 77  ion so that it w
5570: 69 6c 6c 20 77 6f 72 6b 20 63 6f 72 72 65 63 74  ill work correct
5580: 6c 79 20 77 69 74 68 20 54 63 6c 27 73 20 65 6e  ly with Tcl's en
5590: 76 69 72 6f 6e 6d 65 6e 74 20 68 61 6e 64 6c 69  vironment handli
55a0: 6e 67 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ng...-----------
55b0: 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
55c0: 76 65 72 73 69 6f 6e 20 36 2e 36 2c 20 32 2f 35  version 6.6, 2/5
55d0: 2f 39 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  /93 ------------
55e0: 2d 2d 2d 2d 2d 2d 0a 0a 31 35 33 2e 20 32 2f 31  ------..153. 2/1
55f0: 30 2f 39 33 20 46 69 78 65 64 20 62 75 67 73 20  0/93 Fixed bugs 
5600: 69 6e 20 63 6f 6e 66 69 67 20 73 63 72 69 70 74  in config script
5610: 3a 20 20 6d 69 73 73 69 6e 67 20 22 65 6e 64 69  :  missing "endi
5620: 66 22 20 69 6e 20 6c 69 62 63 20 6c 6f 6f 70 2c  f" in libc loop,
5630: 0a 61 6e 64 20 74 72 69 65 64 20 74 6f 20 75 73  .and tried to us
5640: 65 20 73 74 72 6e 63 61 73 65 63 6d 70 2e 63 20  e strncasecmp.c 
5650: 69 6e 73 74 65 61 64 20 6f 66 20 73 74 72 63 61  instead of strca
5660: 73 65 63 6d 70 2e 63 2e 0a 0a 31 35 34 2e 20 32  secmp.c...154. 2
5670: 2f 31 30 2f 39 33 20 4d 61 6b 65 66 69 6c 65 20  /10/93 Makefile 
5680: 69 6d 70 72 6f 76 65 6d 65 6e 74 73 3a 20 20 61  improvements:  a
5690: 64 64 65 64 20 52 41 4e 4c 49 42 20 76 61 72 69  dded RANLIB vari
56a0: 61 62 6c 65 20 66 6f 72 20 65 61 73 69 65 72 0a  able for easier.
56b0: 53 79 73 2d 56 20 63 6f 6e 66 69 67 75 72 61 74  Sys-V configurat
56c0: 69 6f 6e 2c 20 61 64 64 65 64 20 53 48 45 4c 4c  ion, added SHELL
56d0: 20 76 61 72 69 61 62 6c 65 20 66 6f 72 20 53 47   variable for SG
56e0: 49 20 73 79 73 74 65 6d 73 2e 0a 0a 2d 2d 2d 2d  I systems...----
56f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65  ------------- Re
5700: 6c 65 61 73 65 64 20 76 65 72 73 69 6f 6e 20 36  leased version 6
5710: 2e 37 2c 20 32 2f 31 31 2f 39 33 20 2d 2d 2d 2d  .7, 2/11/93 ----
5720: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
5730: 31 35 33 2e 20 32 2f 36 2f 39 33 20 43 68 61 6e  153. 2/6/93 Chan
5740: 67 65 73 20 69 6e 20 62 61 63 6b 73 6c 61 73 68  ges in backslash
5750: 20 70 72 6f 63 65 73 73 69 6e 67 3a 0a 20 20 20   processing:.   
5760: 20 2d 20 5c 43 78 2c 20 5c 4d 78 2c 20 5c 43 4d   - \Cx, \Mx, \CM
5770: 78 2c 20 5c 65 20 73 65 71 75 65 6e 63 65 73 20  x, \e sequences 
5780: 6e 6f 20 6c 6f 6e 67 65 72 20 73 70 65 63 69 61  no longer specia
5790: 6c 0a 20 20 20 20 2d 20 5c 3c 6e 65 77 6c 69 6e  l.    - \<newlin
57a0: 65 3e 20 61 6c 73 6f 20 65 61 74 73 20 75 70 20  e> also eats up 
57b0: 61 6e 79 20 73 70 61 63 65 20 61 66 74 65 72 20  any space after 
57c0: 74 68 65 20 6e 65 77 6c 69 6e 65 2c 20 72 65 70  the newline, rep
57d0: 6c 61 63 69 6e 67 0a 20 20 20 20 20 20 74 68 65  lacing.      the
57e0: 20 77 68 6f 6c 65 20 73 65 71 75 65 6e 63 65 20   whole sequence 
57f0: 77 69 74 68 20 61 20 73 69 6e 67 6c 65 20 73 70  with a single sp
5800: 61 63 65 20 63 68 61 72 61 63 74 65 72 0a 20 20  ace character.  
5810: 20 20 2d 20 48 65 78 20 73 65 71 75 65 6e 63 65    - Hex sequence
5820: 73 20 6c 69 6b 65 20 5c 78 32 34 20 61 72 65 20  s like \x24 are 
5830: 6e 6f 77 20 73 75 70 70 6f 72 74 65 64 2c 20 61  now supported, a
5840: 6c 6f 6e 67 20 77 69 74 68 20 41 4e 53 49 20 43  long with ANSI C
5850: 27 73 20 5c 61 2e 0a 20 20 20 20 2d 20 22 66 6f  's \a..    - "fo
5860: 72 6d 61 74 22 20 6e 6f 20 6c 6f 6e 67 65 72 20  rmat" no longer 
5870: 64 6f 65 73 20 62 61 63 6b 73 6c 61 73 68 20 70  does backslash p
5880: 72 6f 63 65 73 73 69 6e 67 20 6f 6e 20 69 74 73  rocessing on its
5890: 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 0a 20   format string. 
58a0: 20 20 20 2d 20 74 68 65 72 65 20 69 73 20 6e 6f     - there is no
58b0: 20 6c 6f 6e 67 65 72 20 61 6e 79 20 73 70 65 63   longer any spec
58c0: 69 61 6c 20 6d 65 61 6e 69 6e 67 20 74 6f 20 61  ial meaning to a
58d0: 20 30 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20   0 return value 
58e0: 66 72 6f 6d 0a 20 20 20 20 20 20 54 63 6c 5f 42  from.      Tcl_B
58f0: 61 63 6b 73 6c 61 73 68 0a 20 20 20 20 2d 20 75  ackslash.    - u
5900: 6e 6b 6e 6f 77 6e 20 62 61 63 6b 73 6c 61 73 68  nknown backslash
5910: 20 73 65 71 75 65 6e 63 65 73 2c 20 6c 69 6b 65   sequences, like
5920: 20 28 65 2e 67 2e 20 5c 2a 29 2c 20 61 72 65 20   (e.g. \*), are 
5930: 72 65 70 6c 61 63 65 64 20 77 69 74 68 0a 20 20  replaced with.  
5940: 20 20 20 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e      the followin
5950: 67 20 63 68 61 72 61 63 74 65 72 20 28 65 2e 67  g character (e.g
5960: 2e 20 2a 29 2c 20 69 6e 73 74 65 61 64 20 6f 66  . *), instead of
5970: 20 6a 75 73 74 20 74 72 65 61 74 69 6e 67 20 74   just treating t
5980: 68 65 0a 20 20 20 20 20 20 62 61 63 6b 73 6c 61  he.      backsla
5990: 73 68 20 61 73 20 61 6e 20 6f 72 64 69 6e 61 72  sh as an ordinar
59a0: 79 20 63 68 61 72 61 63 74 65 72 2e 0a 2a 2a 2a  y character..***
59b0: 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
59c0: 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
59d0: 31 35 34 2e 20 32 2f 36 2f 39 33 20 55 70 64 61  154. 2/6/93 Upda
59e0: 74 65 64 20 61 6c 6c 20 63 6f 70 79 72 69 67 68  ted all copyrigh
59f0: 74 20 6e 6f 74 69 63 65 73 2e 20 20 54 68 65 20  t notices.  The 
5a00: 6d 65 61 6e 69 6e 67 20 68 61 73 6e 27 74 20 63  meaning hasn't c
5a10: 68 61 6e 67 65 64 0a 61 74 20 61 6c 6c 20 62 75  hanged.at all bu
5a20: 74 20 74 68 65 20 77 6f 72 64 69 6e 67 20 64 6f  t the wording do
5a30: 65 73 20 61 20 62 65 74 74 65 72 20 6a 6f 62 20  es a better job 
5a40: 6f 66 20 70 72 6f 74 65 63 74 69 6e 67 20 55 2e  of protecting U.
5a50: 43 2e 20 66 72 6f 6d 0a 6c 69 61 62 69 6c 69 74  C. from.liabilit
5a60: 79 20 28 61 63 63 6f 72 64 69 6e 67 20 74 6f 20  y (according to 
5a70: 55 2e 43 2e 20 6c 61 77 79 65 72 73 2c 20 61 6e  U.C. lawyers, an
5a80: 79 77 61 79 29 2e 0a 0a 31 35 35 2e 20 32 2f 36  yway)...155. 2/6
5a90: 2f 39 33 20 43 68 61 6e 67 65 64 20 22 72 65 67  /93 Changed "reg
5aa0: 73 75 62 22 20 73 6f 20 74 68 61 74 20 69 74 20  sub" so that it 
5ab0: 6f 76 65 72 77 72 69 74 65 73 20 74 68 65 20 72  overwrites the r
5ac0: 65 73 75 6c 74 20 76 61 72 69 61 62 6c 65 0a 69  esult variable.i
5ad0: 6e 20 61 6c 6c 20 63 61 73 65 73 2c 20 65 76 65  n all cases, eve
5ae0: 6e 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f  n if there is no
5af0: 20 6d 61 74 63 68 2e 0a 2a 2a 2a 20 50 4f 54 45   match..*** POTE
5b00: 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
5b10: 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 35 36 2e 20  ILITY ***..156. 
5b20: 32 2f 38 2f 39 33 20 41 64 64 65 64 20 73 75 70  2/8/93 Added sup
5b30: 70 6f 72 74 20 66 6f 72 20 58 50 47 33 20 25 6e  port for XPG3 %n
5b40: 24 20 63 6f 6e 76 65 72 73 69 6f 6e 20 73 70 65  $ conversion spe
5b50: 63 69 66 69 65 72 73 20 74 6f 20 22 66 6f 72 6d  cifiers to "form
5b60: 61 74 22 0a 63 6f 6d 6d 61 6e 64 2e 0a 0a 31 35  at".command...15
5b70: 37 2e 20 32 2f 31 37 2f 39 33 20 46 69 78 65 64  7. 2/17/93 Fixed
5b80: 20 62 75 67 20 69 6e 20 54 63 6c 5f 45 76 61 6c   bug in Tcl_Eval
5b90: 20 77 68 65 72 65 20 65 72 72 6f 72 73 20 64 75   where errors du
5ba0: 65 20 74 6f 20 69 6e 66 69 6e 69 74 65 0a 72 65  e to infinite.re
5bb0: 63 75 72 73 69 6f 6e 20 63 6f 75 6c 64 20 72 65  cursion could re
5bc0: 73 75 6c 74 20 69 6e 20 63 6f 72 65 20 64 75 6d  sult in core dum
5bd0: 70 73 2e 0a 0a 31 35 38 2e 20 32 2f 31 37 2f 39  ps...158. 2/17/9
5be0: 33 20 49 6d 70 72 6f 76 65 64 20 74 68 65 20 61  3 Improved the a
5bf0: 75 74 6f 2d 6c 6f 61 64 20 6d 65 63 68 61 6e 69  uto-load mechani
5c00: 73 6d 20 74 6f 20 64 65 61 6c 20 67 72 61 63 65  sm to deal grace
5c10: 66 75 6c 6c 79 20 28 69 2e 65 2e 0a 72 65 74 75  fully (i.e..retu
5c20: 72 6e 20 61 6e 20 65 72 72 6f 72 29 20 77 69 74  rn an error) wit
5c30: 68 20 61 20 73 69 74 75 61 74 69 6f 6e 20 77 68  h a situation wh
5c40: 65 72 65 20 61 20 6c 69 62 72 61 72 79 20 66 69  ere a library fi
5c50: 6c 65 20 74 68 61 74 20 73 75 70 70 6f 73 65 64  le that supposed
5c60: 6c 79 0a 64 65 66 69 6e 65 73 20 61 20 70 72 6f  ly.defines a pro
5c70: 63 65 64 75 72 65 20 64 6f 65 73 6e 27 74 20 61  cedure doesn't a
5c80: 63 74 75 61 6c 6c 79 20 64 65 66 69 6e 65 20 69  ctually define i
5c90: 74 2e 0a 0a 31 35 39 2e 20 32 2f 31 37 2f 39 33  t...159. 2/17/93
5ca0: 20 52 65 6e 61 6d 65 64 20 54 63 6c 5f 55 6e 69   Renamed Tcl_Uni
5cb0: 78 45 72 72 6f 72 20 70 72 6f 63 65 64 75 72 65  xError procedure
5cc0: 20 74 6f 20 54 63 6c 5f 50 6f 73 69 78 45 72 72   to Tcl_PosixErr
5cd0: 6f 72 2c 20 61 6e 64 0a 63 68 61 6e 67 65 64 20  or, and.changed 
5ce0: 65 72 72 6f 72 43 6f 64 65 20 76 61 72 69 61 62  errorCode variab
5cf0: 6c 65 20 75 73 61 67 65 20 74 6f 20 75 73 65 20  le usage to use 
5d00: 50 4f 53 49 58 20 61 73 20 6b 65 79 77 6f 72 64  POSIX as keyword
5d10: 20 69 6e 73 74 65 61 64 20 6f 66 0a 55 4e 49 58   instead of.UNIX
5d20: 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  ..*** POTENTIAL 
5d30: 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
5d40: 2a 2a 2a 0a 0a 31 36 30 2e 20 32 2f 31 39 2f 39  ***..160. 2/19/9
5d50: 33 20 43 68 61 6e 67 65 73 20 74 6f 20 65 78 65  3 Changes to exe
5d60: 63 20 61 6e 64 20 70 72 6f 63 65 73 73 20 63 6f  c and process co
5d70: 6e 74 72 6f 6c 3a 0a 20 20 20 20 2d 20 41 64 64  ntrol:.    - Add
5d80: 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 3e  ed support for >
5d90: 3e 2c 20 3e 26 2c 20 3e 3e 26 2c 20 7c 26 2c 20  >, >&, >>&, |&, 
5da0: 3c 40 2c 20 3e 40 2c 20 61 6e 64 20 3e 26 40 20  <@, >@, and >&@ 
5db0: 66 6f 72 6d 73 20 6f 66 20 72 65 64 69 72 65 63  forms of redirec
5dc0: 74 69 6f 6e 2e 0a 20 20 20 20 2d 20 57 68 65 6e  tion..    - When
5dd0: 20 65 78 65 63 20 70 75 74 73 20 70 72 6f 63 65   exec puts proce
5de0: 73 73 65 73 20 69 6e 74 6f 20 62 61 63 6b 67 72  sses into backgr
5df0: 6f 75 6e 64 2c 20 69 74 20 72 65 74 75 72 6e 73  ound, it returns
5e00: 20 61 20 6c 69 73 74 20 6f 66 0a 20 20 20 20 20   a list of.     
5e10: 20 74 68 65 69 72 20 70 69 64 73 20 61 73 20 72   their pids as r
5e20: 65 73 75 6c 74 2e 0a 20 20 20 20 2d 20 41 64 64  esult..    - Add
5e30: 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 3c  ed support for <
5e40: 66 69 6c 65 2c 20 3e 66 69 6c 65 2c 20 65 74 63  file, >file, etc
5e50: 2e 20 28 69 2e 65 2e 20 6e 6f 20 73 70 61 63 65  . (i.e. no space
5e60: 20 62 65 74 77 65 65 6e 0a 20 20 20 20 20 20 22   between.      "
5e70: 3e 22 20 61 6e 64 20 66 69 6c 65 20 6e 61 6d 65  >" and file name
5e80: 2e 0a 20 20 20 20 2d 20 41 64 64 65 64 20 2d 6b  ..    - Added -k
5e90: 65 65 70 6e 65 77 6c 69 6e 65 20 6f 70 74 69 6f  eepnewline optio
5ea0: 6e 2e 0a 20 20 20 20 2d 20 44 65 6c 65 74 65 64  n..    - Deleted
5eb0: 20 54 63 6c 5f 46 6f 72 6b 20 61 6e 64 20 54 63   Tcl_Fork and Tc
5ec0: 6c 5f 57 61 69 74 50 69 64 73 20 70 72 6f 63 65  l_WaitPids proce
5ed0: 64 75 72 65 73 20 28 6a 75 73 74 20 75 73 65 20  dures (just use 
5ee0: 66 6f 72 6b 20 61 6e 64 0a 20 20 20 20 20 20 77  fork and.      w
5ef0: 61 69 74 70 69 64 20 69 6e 73 74 65 61 64 29 2e  aitpid instead).
5f00: 0a 20 20 20 20 2d 20 41 64 64 65 64 20 77 61 69  .    - Added wai
5f10: 74 70 69 64 20 63 6f 6d 70 61 74 69 62 69 6c 69  tpid compatibili
5f20: 74 79 20 70 72 6f 63 65 64 75 72 65 20 66 6f 72  ty procedure for
5f30: 20 73 79 73 74 65 6d 73 20 74 68 61 74 20 64 6f   systems that do
5f40: 6e 27 74 20 68 61 76 65 0a 20 20 20 20 20 20 69  n't have.      i
5f50: 74 2e 0a 20 20 20 20 2d 20 41 64 64 65 64 20 54  t..    - Added T
5f60: 63 6c 5f 52 65 61 70 44 65 74 61 63 68 65 64 50  cl_ReapDetachedP
5f70: 72 6f 63 73 20 70 72 6f 63 65 64 75 72 65 2e 0a  rocs procedure..
5f80: 20 20 20 20 2d 20 43 68 61 6e 67 65 64 20 22 65      - Changed "e
5f90: 78 65 63 22 20 74 6f 20 72 65 74 75 72 6e 20 61  xec" to return a
5fa0: 6e 20 65 72 72 6f 72 20 69 66 20 74 68 65 72 65  n error if there
5fb0: 20 69 73 20 73 74 64 65 72 72 20 6f 75 74 70 75   is stderr outpu
5fc0: 74 2c 20 65 76 65 6e 0a 20 20 20 20 20 20 69 66  t, even.      if
5fd0: 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 74   the command ret
5fe0: 75 72 6e 73 20 61 20 30 20 65 78 69 74 20 73 74  urns a 0 exit st
5ff0: 61 74 75 73 20 28 69 74 27 73 20 61 6c 77 61 79  atus (it's alway
6000: 73 20 62 65 65 6e 20 64 6f 63 75 6d 65 6e 74 65  s been documente
6010: 64 0a 20 20 20 20 20 20 74 68 69 73 20 77 61 79  d.      this way
6020: 2c 20 62 75 74 20 74 68 65 20 69 6d 70 6c 65 6d  , but the implem
6030: 65 6e 74 61 74 69 6f 6e 20 77 61 73 6e 27 74 20  entation wasn't 
6040: 63 6f 72 72 65 63 74 29 2e 0a 20 20 20 20 2d 20  correct)..    - 
6050: 49 66 20 61 20 70 72 6f 63 65 73 73 20 72 65 74  If a process ret
6060: 75 72 6e 73 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20  urns a non-zero 
6070: 65 78 69 74 20 73 74 61 74 75 73 20 62 75 74 20  exit status but 
6080: 64 6f 65 73 6e 27 74 20 67 65 6e 65 72 61 74 65  doesn't generate
6090: 0a 20 20 20 20 20 20 61 6e 79 20 64 69 61 67 6e  .      any diagn
60a0: 6f 73 74 69 63 20 6f 75 74 70 75 74 2c 20 74 68  ostic output, th
60b0: 65 6e 20 54 63 6c 20 67 65 6e 65 72 61 74 65 73  en Tcl generates
60c0: 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67   an error messag
60d0: 65 20 66 6f 72 20 69 74 2e 0a 2a 2a 2a 20 50 4f  e for it..*** PO
60e0: 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
60f0: 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 36 31  IBILITY ***..161
6100: 2e 20 32 2f 32 35 2f 39 33 20 46 69 78 65 64 20  . 2/25/93 Fixed 
6110: 74 77 6f 20 6d 65 6d 6f 72 79 2d 6d 61 6e 61 67  two memory-manag
6120: 65 6d 65 6e 74 20 70 72 6f 62 6c 65 6d 73 20 68  ement problems h
6130: 61 76 69 6e 67 20 74 6f 20 64 6f 20 77 69 74 68  aving to do with
6140: 0a 6d 61 6e 61 67 69 6e 67 20 74 68 65 20 6f 6c  .managing the ol
6150: 64 20 72 65 73 75 6c 74 20 64 75 72 69 6e 67 20  d result during 
6160: 76 61 72 69 61 62 6c 65 20 74 72 61 63 65 20 63  variable trace c
6170: 61 6c 6c 62 61 63 6b 73 2e 0a 0a 31 36 32 2e 20  allbacks...162. 
6180: 33 2f 31 2f 39 33 20 41 64 64 65 64 20 64 79 6e  3/1/93 Added dyn
6190: 61 6d 69 63 20 73 74 72 69 6e 67 20 6c 69 62 72  amic string libr
61a0: 61 72 79 3a 20 20 54 63 6c 5f 44 53 74 72 69 6e  ary:  Tcl_DStrin
61b0: 67 49 6e 69 74 2c 20 54 63 6c 5f 44 53 74 72 69  gInit, Tcl_DStri
61c0: 6e 67 41 70 70 65 6e 64 2c 0a 54 63 6c 5f 44 53  ngAppend,.Tcl_DS
61d0: 74 72 69 6e 67 46 72 65 65 2c 20 54 63 6c 5f 44  tringFree, Tcl_D
61e0: 53 74 72 69 6e 67 52 65 73 75 6c 74 2c 20 65 74  StringResult, et
61f0: 63 2e 0a 0a 31 36 33 2e 20 33 2f 31 2f 39 33 20  c...163. 3/1/93 
6200: 4d 6f 64 69 66 69 65 64 20 67 6c 6f 62 20 63 6f  Modified glob co
6210: 6d 6d 61 6e 64 20 74 6f 20 6f 6e 6c 79 20 72 65  mmand to only re
6220: 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 73 20 6f  turn the names o
6230: 66 20 66 69 6c 65 73 20 74 68 61 74 0a 65 78 69  f files that.exi
6240: 73 74 2c 20 61 6e 64 20 74 6f 20 6f 6e 6c 79 20  st, and to only 
6250: 72 65 74 75 72 6e 20 6e 61 6d 65 73 20 65 6e 64  return names end
6260: 69 6e 67 20 69 6e 20 22 2f 22 20 69 66 20 74 68  ing in "/" if th
6270: 65 20 66 69 6c 65 20 69 73 20 61 20 64 69 72 65  e file is a dire
6280: 63 74 6f 72 79 2e 0a 2a 2a 2a 20 50 4f 54 45 4e  ctory..*** POTEN
6290: 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49  TIAL INCOMPATIBI
62a0: 4c 49 54 59 20 2a 2a 2a 0a 0a 31 36 34 2e 20 33  LITY ***..164. 3
62b0: 2f 31 39 2f 39 33 20 4d 6f 64 69 66 69 65 64 20  /19/93 Modified 
62c0: 6e 6f 74 20 74 6f 20 75 73 65 20 73 79 73 74 65  not to use syste
62d0: 6d 20 63 61 6c 6c 73 20 6c 69 6b 65 20 22 72 65  m calls like "re
62e0: 61 64 22 20 64 69 72 65 63 74 6c 79 2c 0a 62 75  ad" directly,.bu
62f0: 74 20 69 6e 73 74 65 61 64 20 74 6f 20 75 73 65  t instead to use
6300: 20 73 70 65 63 69 61 6c 20 54 63 6c 20 70 72 6f   special Tcl pro
6310: 63 65 64 75 72 65 73 20 74 68 61 74 20 72 65 74  cedures that ret
6320: 72 79 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  ry automatically
6330: 0a 69 66 20 69 6e 74 65 72 72 75 70 74 65 64 20  .if interrupted 
6340: 62 79 20 73 69 67 6e 61 6c 73 2e 0a 0a 31 36 35  by signals...165
6350: 2e 20 34 2f 33 2f 39 33 20 45 6c 69 6d 69 6e 61  . 4/3/93 Elimina
6360: 74 65 64 20 22 6e 6f 53 65 70 22 20 61 72 67 75  ted "noSep" argu
6370: 6d 65 6e 74 20 74 6f 20 54 63 6c 5f 41 70 70 65  ment to Tcl_Appe
6380: 6e 64 45 6c 65 6d 65 6e 74 2c 20 70 6c 75 73 0a  ndElement, plus.
6390: 54 43 4c 5f 4e 4f 5f 53 50 41 43 45 20 66 6c 61  TCL_NO_SPACE fla
63a0: 67 20 66 6f 72 20 54 63 6c 5f 53 65 74 56 61 72  g for Tcl_SetVar
63b0: 20 61 6e 64 20 54 63 6c 5f 53 65 74 56 61 72 32   and Tcl_SetVar2
63c0: 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  ..*** POTENTIAL 
63d0: 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
63e0: 2a 2a 2a 0a 0a 31 36 36 2e 20 34 2f 33 2f 39 33  ***..166. 4/3/93
63f0: 20 45 6c 69 6d 69 6e 61 74 65 64 20 22 66 6c 61   Eliminated "fla
6400: 67 73 22 20 61 6e 64 20 22 74 65 72 6d 50 74 72  gs" and "termPtr
6410: 22 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 54  " arguments to T
6420: 63 6c 5f 45 76 61 6c 2e 0a 2a 2a 2a 20 50 4f 54  cl_Eval..*** POT
6430: 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
6440: 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 36 37 2e  BILITY ***..167.
6450: 20 34 2f 33 2f 39 33 20 43 68 61 6e 67 65 73 20   4/3/93 Changes 
6460: 74 6f 20 65 78 70 72 65 73 73 69 6f 6e 73 3a 0a  to expressions:.
6470: 20 20 20 20 2d 20 54 68 65 20 22 65 78 70 72 22      - The "expr"
6480: 20 63 6f 6d 6d 61 6e 64 20 6e 6f 77 20 61 63 63   command now acc
6490: 65 70 74 73 20 6d 75 6c 74 69 70 6c 65 20 61 72  epts multiple ar
64a0: 67 75 6d 65 6e 74 73 2c 20 77 68 69 63 68 20 61  guments, which a
64b0: 72 65 0a 20 20 20 20 20 20 63 6f 6e 63 61 74 65  re.      concate
64c0: 6e 61 74 65 64 20 74 6f 67 65 74 68 65 72 20 77  nated together w
64d0: 69 74 68 20 73 70 61 63 65 20 73 65 70 61 72 61  ith space separa
64e0: 74 6f 72 73 2e 0a 20 20 20 20 2d 20 49 6e 74 65  tors..    - Inte
64f0: 67 65 72 73 20 61 72 65 6e 27 74 20 61 75 74 6f  gers aren't auto
6500: 6d 61 74 69 63 61 6c 6c 79 20 70 72 6f 6d 6f 74  matically promot
6510: 65 64 20 74 6f 20 66 6c 6f 61 74 69 6e 67 2d 70  ed to floating-p
6520: 6f 69 6e 74 20 69 66 20 74 68 65 79 0a 20 20 20  oint if they.   
6530: 20 20 20 6f 76 65 72 66 6c 6f 77 20 74 68 65 20     overflow the 
6540: 77 6f 72 64 20 73 69 7a 65 3a 20 20 65 72 72 6f  word size:  erro
6550: 72 73 20 61 72 65 20 67 65 6e 65 72 61 74 65 64  rs are generated
6560: 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 2d 20   instead..    - 
6570: 54 63 6c 20 63 61 6e 20 6e 6f 77 20 68 61 6e 64  Tcl can now hand
6580: 6c 65 20 22 4e 61 4e 22 20 61 6e 64 20 6f 74 68  le "NaN" and oth
6590: 65 72 20 73 70 65 63 69 61 6c 20 76 61 6c 75 65  er special value
65a0: 73 20 69 66 20 74 68 65 20 75 6e 64 65 72 6c 79  s if the underly
65b0: 69 6e 67 0a 20 20 20 20 20 20 6c 69 62 72 61 72  ing.      librar
65c0: 79 20 70 72 6f 63 65 64 75 72 65 73 20 68 61 6e  y procedures han
65d0: 64 6c 65 20 74 68 65 6d 2e 0a 20 20 20 20 2d 20  dle them..    - 
65e0: 57 68 65 6e 20 70 72 69 6e 74 69 6e 67 20 66 6c  When printing fl
65f0: 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d  oating-point num
6600: 62 65 72 73 2c 20 54 63 6c 20 65 6e 73 75 72 65  bers, Tcl ensure
6610: 73 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20  s that there is 
6620: 61 20 22 2e 22 0a 20 20 20 20 20 20 6f 72 20 22  a ".".      or "
6630: 65 22 20 69 6e 20 74 68 65 20 6e 75 6d 62 65 72  e" in the number
6640: 2c 20 73 6f 20 69 74 20 63 61 6e 27 74 20 62 65  , so it can't be
6650: 20 74 72 65 61 74 65 64 20 61 73 20 61 6e 20 69   treated as an i
6660: 6e 74 65 67 65 72 20 61 63 63 69 64 65 6e 74 61  nteger accidenta
6670: 6c 6c 79 2e 0a 20 20 20 20 20 20 54 68 65 20 70  lly..      The p
6680: 72 6f 63 65 64 75 72 65 20 54 63 6c 5f 50 72 69  rocedure Tcl_Pri
6690: 6e 74 44 6f 75 62 6c 65 20 69 73 20 61 76 61 69  ntDouble is avai
66a0: 6c 61 62 6c 65 20 74 6f 20 70 72 6f 76 69 64 65  lable to provide
66b0: 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20   this function. 
66c0: 20 20 20 20 20 69 6e 20 6f 74 68 65 72 20 63 6f       in other co
66d0: 6e 74 65 78 74 73 2e 20 20 41 6c 73 6f 2c 20 74  ntexts.  Also, t
66e0: 68 65 20 76 61 72 69 61 62 6c 65 20 22 74 63 6c  he variable "tcl
66f0: 5f 70 72 65 63 69 73 69 6f 6e 22 20 63 61 6e 20  _precision" can 
6700: 62 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f  be used.      to
6710: 20 73 65 74 20 74 68 65 20 70 72 65 63 69 73 69   set the precisi
6720: 6f 6e 20 66 6f 72 20 70 72 69 6e 74 69 6e 67 20  on for printing 
6730: 28 6d 75 73 74 20 62 65 20 61 20 64 65 63 69 6d  (must be a decim
6740: 61 6c 20 6e 75 6d 62 65 72 20 67 69 76 69 6e 67  al number giving
6750: 0a 20 20 20 20 20 20 64 69 67 69 74 73 20 6f 66  .      digits of
6760: 20 70 72 65 63 69 73 69 6f 6e 29 2e 0a 20 20 20   precision)..   
6770: 20 2d 20 45 78 70 72 65 73 73 69 6f 6e 73 20 6e   - Expressions n
6780: 6f 77 20 73 75 70 70 6f 72 74 20 74 72 61 6e 73  ow support trans
6790: 63 65 6e 64 65 6e 74 61 6c 20 61 6e 64 20 6f 74  cendental and ot
67a0: 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 2c 20 65  her functions, e
67b0: 2e 67 2e 20 73 69 6e 2c 0a 20 20 20 20 20 20 61  .g. sin,.      a
67c0: 63 6f 73 2c 20 68 79 70 6f 74 2c 20 63 65 69 6c  cos, hypot, ceil
67d0: 2c 20 61 6e 64 20 72 6f 75 6e 64 2e 20 20 43 61  , and round.  Ca
67e0: 6e 20 61 64 64 20 6e 65 77 20 6d 61 74 68 20 66  n add new math f
67f0: 75 6e 63 74 69 6f 6e 73 20 77 69 74 68 0a 20 20  unctions with.  
6800: 20 20 20 20 54 63 6c 5f 43 72 65 61 74 65 4d 61      Tcl_CreateMa
6810: 74 68 46 75 6e 63 28 29 2e 0a 20 20 20 20 2d 20  thFunc()..    - 
6820: 42 6f 6f 6c 65 61 6e 20 65 78 70 72 65 73 73 69  Boolean expressi
6830: 6f 6e 73 20 63 61 6e 20 6e 6f 77 20 68 61 76 65  ons can now have
6840: 20 61 6e 79 20 6f 66 20 74 68 65 20 73 74 72 69   any of the stri
6850: 6e 67 20 76 61 6c 75 65 73 20 61 63 63 65 70 74  ng values accept
6860: 65 64 0a 20 20 20 20 20 20 62 79 20 54 63 6c 5f  ed.      by Tcl_
6870: 47 65 74 42 6f 6f 6c 65 61 6e 2c 20 73 75 63 68  GetBoolean, such
6880: 20 61 73 20 22 79 65 73 22 20 6f 72 20 22 6e 6f   as "yes" or "no
6890: 22 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  "..*** POTENTIAL
68a0: 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
68b0: 20 2a 2a 2a 0a 0a 31 36 38 2e 20 34 2f 35 2f 39   ***..168. 4/5/9
68c0: 33 20 43 68 61 6e 67 65 64 20 54 63 6c 5f 55 6e  3 Changed Tcl_Un
68d0: 73 65 74 56 61 72 20 61 6e 64 20 54 63 6c 5f 55  setVar and Tcl_U
68e0: 6e 73 65 74 56 61 72 32 20 74 6f 20 72 65 74 75  nsetVar2 to retu
68f0: 72 6e 20 54 43 4c 5f 4f 4b 0a 6f 72 20 54 43 4c  rn TCL_OK.or TCL
6900: 5f 45 52 52 4f 52 20 69 6e 73 74 65 61 64 20 6f  _ERROR instead o
6910: 66 20 30 20 6f 72 20 2d 31 2e 0a 2a 2a 2a 20 50  f 0 or -1..*** P
6920: 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
6930: 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 36  TIBILITY ***..16
6940: 39 2e 20 34 2f 35 2f 39 33 20 45 6c 69 6d 69 6e  9. 4/5/93 Elimin
6950: 61 74 65 64 20 54 63 6c 5f 43 6d 64 42 75 66 20  ated Tcl_CmdBuf 
6960: 73 74 72 75 63 74 75 72 65 20 61 6e 64 20 61 73  structure and as
6970: 73 6f 63 69 61 74 65 64 20 70 72 6f 63 65 64 75  sociated procedu
6980: 72 65 73 3b 0a 63 61 6e 20 75 73 65 20 54 63 6c  res;.can use Tcl
6990: 5f 44 53 74 72 69 6e 67 73 20 69 6e 73 74 65 61  _DStrings instea
69a0: 64 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  d..*** POTENTIAL
69b0: 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
69c0: 20 2a 2a 2a 0a 0a 31 37 30 2e 20 34 2f 38 2f 39   ***..170. 4/8/9
69d0: 33 20 43 68 61 6e 67 65 64 20 69 6e 74 65 72 66  3 Changed interf
69e0: 61 63 65 20 74 6f 20 54 63 6c 5f 54 69 6c 64 65  ace to Tcl_Tilde
69f0: 53 75 62 73 74 20 74 6f 20 75 73 65 20 61 20 64  Subst to use a d
6a00: 79 6e 61 6d 69 63 0a 73 74 72 69 6e 67 20 66 6f  ynamic.string fo
6a10: 72 20 62 75 66 66 65 72 20 73 70 61 63 65 2e 20  r buffer space. 
6a20: 20 54 68 69 73 20 6d 61 6b 65 73 20 74 68 65 20   This makes the 
6a30: 70 72 6f 63 65 64 75 72 65 20 72 65 2d 65 6e 74  procedure re-ent
6a40: 72 61 6e 74 20 61 6e 64 0a 74 68 72 65 61 64 2d  rant and.thread-
6a50: 73 61 66 65 2c 20 77 68 65 72 65 61 73 20 69 74  safe, whereas it
6a60: 20 77 61 73 6e 27 74 20 62 65 66 6f 72 65 2e 0a   wasn't before..
6a70: 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
6a80: 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
6a90: 2a 0a 0a 31 37 31 2e 20 34 2f 31 34 2f 39 33 20  *..171. 4/14/93 
6aa0: 45 6c 69 6d 69 6e 61 74 65 64 20 74 63 6c 48 61  Eliminated tclHa
6ab0: 73 68 2e 68 2c 20 61 6e 64 20 6d 6f 76 65 64 20  sh.h, and moved 
6ac0: 65 76 65 72 79 74 68 69 6e 67 20 66 72 6f 6d 20  everything from 
6ad0: 69 74 20 74 6f 0a 74 63 6c 2e 68 0a 2a 2a 2a 20  it to.tcl.h.*** 
6ae0: 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
6af0: 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31  ATIBILITY ***..1
6b00: 37 32 2e 20 34 2f 31 35 2f 39 33 20 45 6c 69 6d  72. 4/15/93 Elim
6b10: 69 6e 61 74 65 64 20 54 63 6c 5f 49 6e 69 74 48  inated Tcl_InitH
6b20: 69 73 74 6f 72 79 2c 20 6d 61 64 65 20 22 68 69  istory, made "hi
6b30: 73 74 6f 72 79 22 20 63 6f 6d 6d 61 6e 64 20 61  story" command a
6b40: 6c 77 61 79 73 0a 62 65 20 70 61 72 74 20 6f 66  lways.be part of
6b50: 20 69 6e 74 65 72 70 72 65 74 65 72 2e 0a 2a 2a   interpreter..**
6b60: 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
6b70: 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
6b80: 0a 31 37 33 2e 20 34 2f 31 36 2f 39 33 20 4d 6f  .173. 4/16/93 Mo
6b90: 64 69 66 69 65 64 20 22 66 69 6c 65 22 20 63 6f  dified "file" co
6ba0: 6d 6d 61 6e 64 20 73 6f 20 74 68 61 74 20 22 72  mmand so that "r
6bb0: 65 61 64 61 62 6c 65 22 20 6f 70 74 69 6f 6e 20  eadable" option 
6bc0: 61 6c 77 61 79 73 0a 65 78 69 73 74 73 2c 20 65  always.exists, e
6bd0: 76 65 6e 20 6f 6e 20 6d 61 63 68 69 6e 65 73 20  ven on machines 
6be0: 74 68 61 74 20 64 6f 6e 27 74 20 73 75 70 70 6f  that don't suppo
6bf0: 72 74 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b  rt symbolic link
6c00: 73 20 28 61 6c 77 61 79 73 20 72 65 74 75 72 6e  s (always return
6c10: 73 0a 73 61 6d 65 20 65 72 72 6f 72 20 61 73 20  s.same error as 
6c20: 69 66 20 74 68 65 20 66 69 6c 65 20 77 61 73 6e  if the file wasn
6c30: 27 74 20 61 20 73 79 6d 62 6f 6c 69 63 20 6c 69  't a symbolic li
6c40: 6e 6b 29 2e 0a 0a 31 37 34 2e 20 34 2f 32 36 2f  nk)...174. 4/26/
6c50: 39 33 20 46 69 78 65 64 20 62 75 67 73 20 69 6e  93 Fixed bugs in
6c60: 20 22 72 65 67 73 75 62 22 20 77 68 65 72 65 20   "regsub" where 
6c70: 5e 20 70 61 74 74 65 72 6e 73 20 64 69 64 6e 27  ^ patterns didn'
6c80: 74 20 67 65 74 20 68 61 6e 64 6c 65 64 0a 72 69  t get handled.ri
6c90: 67 68 74 20 28 70 72 65 74 65 6e 64 65 64 20 6e  ght (pretended n
6ca0: 6f 74 20 74 6f 20 6d 61 74 63 68 20 77 68 65 6e  ot to match when
6cb0: 20 69 74 20 72 65 61 6c 6c 79 20 64 69 64 2c 20   it really did, 
6cc0: 61 6e 64 20 6c 6f 6f 70 65 64 20 69 6e 66 69 6e  and looped infin
6cd0: 69 74 65 6c 79 0a 69 66 20 2d 61 6c 6c 20 77 61  itely.if -all wa
6ce0: 73 20 73 70 65 63 69 66 69 65 64 29 2e 0a 0a 31  s specified)...1
6cf0: 37 35 2e 20 34 2f 32 39 2f 39 33 20 56 61 72 69  75. 4/29/93 Vari
6d00: 6f 75 73 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73  ous improvements
6d10: 20 69 6e 20 74 68 65 20 68 61 6e 64 6c 69 6e 67   in the handling
6d20: 20 6f 66 20 76 61 72 69 61 62 6c 65 73 3a 0a 20   of variables:. 
6d30: 20 20 20 2d 20 43 61 6e 20 63 72 65 61 74 65 20     - Can create 
6d40: 76 61 72 69 61 62 6c 65 73 20 61 6e 64 20 61 72  variables and ar
6d50: 72 61 79 20 65 6c 65 6d 65 6e 74 73 20 64 75 72  ray elements dur
6d60: 69 6e 67 20 61 20 72 65 61 64 20 74 72 61 63 65  ing a read trace
6d70: 2e 0a 20 20 20 20 2d 20 43 61 6e 20 64 65 6c 65  ..    - Can dele
6d80: 74 65 20 76 61 72 69 61 62 6c 65 73 20 64 75 72  te variables dur
6d90: 69 6e 67 20 74 72 61 63 65 73 20 28 6e 6f 74 65  ing traces (note
6da0: 3a 20 75 6e 73 65 74 20 74 72 61 63 65 73 20 77  : unset traces w
6db0: 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 69 6e 76  ill be.      inv
6dc0: 6f 6b 65 64 20 77 68 65 6e 20 74 68 69 73 20 68  oked when this h
6dd0: 61 70 70 65 6e 73 29 2e 0a 20 20 20 20 2d 20 43  appens)..    - C
6de0: 61 6e 20 75 70 76 61 72 20 74 6f 20 61 72 72 61  an upvar to arra
6df0: 79 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20  y elements..    
6e00: 2d 20 43 61 6e 20 72 65 74 61 72 67 65 74 20 61  - Can retarget a
6e10: 6e 20 75 70 76 61 72 20 74 6f 20 61 6e 6f 74 68  n upvar to anoth
6e20: 65 72 20 76 61 72 69 61 62 6c 65 20 62 79 20 72  er variable by r
6e30: 65 2d 69 73 73 75 69 6e 67 20 74 68 65 0a 20 20  e-issuing the.  
6e40: 20 20 20 20 75 70 76 61 72 20 63 6f 6d 6d 61 6e      upvar comman
6e50: 64 20 77 69 74 68 20 61 20 64 69 66 66 65 72 65  d with a differe
6e60: 6e 74 20 22 6f 74 68 65 72 22 20 76 61 72 69 61  nt "other" varia
6e70: 62 6c 65 2e 0a 0a 31 37 36 2e 20 35 2f 33 2f 39  ble...176. 5/3/9
6e80: 33 20 41 64 64 65 64 20 54 63 6c 5f 47 65 74 43  3 Added Tcl_GetC
6e90: 6f 6d 6d 61 6e 64 49 6e 66 6f 2c 20 77 68 69 63  ommandInfo, whic
6ea0: 68 20 72 65 74 75 72 6e 73 20 69 6e 66 6f 20 61  h returns info a
6eb0: 62 6f 75 74 20 61 20 54 63 6c 0a 63 6f 6d 6d 61  bout a Tcl.comma
6ec0: 6e 64 20 73 75 63 68 20 61 73 20 77 68 65 74 68  nd such as wheth
6ed0: 65 72 20 69 74 20 65 78 69 73 74 73 20 61 6e 64  er it exists and
6ee0: 20 69 74 73 20 43 6c 69 65 6e 74 44 61 74 61 2e   its ClientData.
6ef0: 20 20 41 6c 73 6f 20 61 64 64 65 64 0a 54 63 6c    Also added.Tcl
6f00: 5f 53 65 74 43 6f 6d 6d 61 6e 64 49 6e 66 6f 2c  _SetCommandInfo,
6f10: 20 77 68 69 63 68 20 61 6c 6c 6f 77 73 20 61 6e   which allows an
6f20: 79 20 6f 66 20 74 68 69 73 20 69 6e 66 6f 72 6d  y of this inform
6f30: 61 74 69 6f 6e 20 74 6f 20 62 65 20 6d 6f 64 69  ation to be modi
6f40: 66 69 65 64 0a 61 6e 64 20 61 6c 73 6f 20 61 6c  fied.and also al
6f50: 6c 6f 77 73 20 61 20 63 6f 6d 6d 61 6e 64 27 73  lows a command's
6f60: 20 64 65 6c 65 74 65 20 70 72 6f 63 65 64 75 72   delete procedur
6f70: 65 20 74 6f 20 68 61 76 65 20 61 20 64 69 66 66  e to have a diff
6f80: 65 72 65 6e 74 0a 43 6c 69 65 6e 74 44 61 74 61  erent.ClientData
6f90: 20 76 61 6c 75 65 20 74 68 61 6e 20 69 74 73 20   value than its 
6fa0: 63 6f 6d 6d 61 6e 64 20 70 72 6f 63 65 64 75 72  command procedur
6fb0: 65 2e 0a 0a 31 37 37 2e 20 35 2f 35 2f 39 33 20  e...177. 5/5/93 
6fc0: 41 64 64 65 64 20 54 63 6c 5f 52 65 67 45 78 70  Added Tcl_RegExp
6fd0: 4d 61 74 63 68 20 70 72 6f 63 65 64 75 72 65 2e  Match procedure.
6fe0: 0a 0a 31 37 38 2e 20 35 2f 36 2f 39 33 20 46 69  ..178. 5/6/93 Fi
6ff0: 78 65 64 20 62 75 67 20 69 6e 20 22 73 63 61 6e  xed bug in "scan
7000: 22 20 77 68 65 72 65 20 69 74 20 64 69 64 6e 27  " where it didn'
7010: 74 20 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c  t properly handl
7020: 65 0a 25 25 20 63 6f 6e 76 65 72 73 69 6f 6e 20  e.%% conversion 
7030: 73 70 65 63 69 66 69 65 72 73 2e 20 20 41 6c 73  specifiers.  Als
7040: 6f 20 63 68 61 6e 67 65 64 20 22 73 63 61 6e 22  o changed "scan"
7050: 20 74 6f 20 75 73 65 20 54 63 6c 5f 50 72 69 6e   to use Tcl_Prin
7060: 74 44 6f 75 62 6c 65 0a 66 6f 72 20 70 72 69 6e  tDouble.for prin
7070: 74 69 6e 67 20 72 65 61 6c 20 76 61 6c 75 65 73  ting real values
7080: 2e 0a 0a 31 37 39 2e 20 35 2f 37 2f 39 33 20 41  ...179. 5/7/93 A
7090: 64 64 65 64 20 22 2d 65 78 61 63 74 22 2c 20 22  dded "-exact", "
70a0: 2d 67 6c 6f 62 22 2c 20 61 6e 64 20 22 2d 72 65  -glob", and "-re
70b0: 67 65 78 70 22 20 6f 70 74 69 6f 6e 73 20 74 6f  gexp" options to
70c0: 20 22 6c 73 65 61 72 63 68 22 0a 63 6f 6d 6d 61   "lsearch".comma
70d0: 6e 64 20 74 6f 20 61 6c 6c 6f 77 20 64 69 66 66  nd to allow diff
70e0: 65 72 65 6e 74 20 6b 69 6e 64 73 20 6f 66 20 70  erent kinds of p
70f0: 61 74 74 65 72 6e 20 6d 61 74 63 68 69 6e 67 2e  attern matching.
7100: 0a 0a 31 38 30 2e 20 35 2f 37 2f 39 33 20 41 64  ..180. 5/7/93 Ad
7110: 64 65 64 20 6d 61 6e 79 20 6e 65 77 20 73 77 69  ded many new swi
7120: 74 63 68 65 73 20 74 6f 20 22 6c 73 6f 72 74 22  tches to "lsort"
7130: 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 74 68 65 20   to control the 
7140: 73 6f 72 74 69 6e 67 0a 70 72 6f 63 65 73 73 3a  sorting.process:
7150: 20 22 2d 61 73 63 69 69 22 2c 20 22 2d 69 6e 74   "-ascii", "-int
7160: 65 67 65 72 22 2c 20 22 2d 72 65 61 6c 22 2c 20  eger", "-real", 
7170: 22 2d 63 6f 6d 6d 61 6e 64 22 2c 20 22 2d 69 6e  "-command", "-in
7180: 63 72 65 61 73 69 6e 67 22 2c 0a 61 6e 64 20 22  creasing",.and "
7190: 2d 64 65 63 72 65 61 73 69 6e 67 22 2e 0a 0a 31  -decreasing"...1
71a0: 38 31 2e 20 35 2f 31 30 2f 39 33 20 43 68 61 6e  81. 5/10/93 Chan
71b0: 67 65 73 20 74 6f 20 66 69 6c 65 20 49 2f 4f 3a  ges to file I/O:
71c0: 0a 20 20 20 20 2d 20 4d 6f 64 69 66 69 65 64 20  .    - Modified 
71d0: 22 6f 70 65 6e 22 20 63 6f 6d 6d 61 6e 64 20 74  "open" command t
71e0: 6f 20 73 75 70 70 6f 72 74 20 61 20 6c 69 73 74  o support a list
71f0: 20 6f 66 20 50 4f 53 49 58 20 61 63 63 65 73 73   of POSIX access
7200: 20 66 6c 61 67 73 0a 20 20 20 20 20 20 6c 69 6b   flags.      lik
7210: 65 20 7b 57 52 4f 4e 4c 59 20 43 52 45 41 54 20  e {WRONLY CREAT 
7220: 54 52 55 4e 43 7d 20 69 6e 20 61 64 64 69 74 69  TRUNC} in additi
7230: 6f 6e 20 74 6f 20 63 75 72 72 65 6e 74 20 66 6f  on to current fo
7240: 70 65 6e 2d 73 74 79 6c 65 0a 20 20 20 20 20 20  pen-style.      
7250: 61 63 63 65 73 73 20 6d 6f 64 65 73 2e 20 20 41  access modes.  A
7260: 6c 73 6f 20 61 64 64 65 64 20 22 70 65 72 6d 69  lso added "permi
7270: 73 73 69 6f 6e 73 22 20 61 72 67 75 6d 65 6e 74  ssions" argument
7280: 20 74 6f 20 73 65 74 20 70 65 72 6d 69 73 73 69   to set permissi
7290: 6f 6e 73 0a 20 20 20 20 20 20 6f 66 20 6e 65 77  ons.      of new
72a0: 6c 79 2d 63 72 65 61 74 65 64 20 66 69 6c 65 73  ly-created files
72b0: 2e 0a 20 20 20 20 2d 20 46 69 78 65 64 20 53 63  ..    - Fixed Sc
72c0: 6f 74 74 20 42 6f 6c 74 65 27 73 20 62 75 67 20  ott Bolte's bug 
72d0: 28 63 61 6e 20 63 6c 6f 73 65 20 73 74 64 69 6e  (can close stdin
72e0: 20 65 74 63 2e 20 69 6e 20 61 70 70 6c 69 63 61   etc. in applica
72f0: 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 20 20 74  tion and.      t
7300: 68 65 6e 20 72 65 2d 6f 70 65 6e 20 74 68 65 6d  hen re-open them
7310: 20 77 69 74 68 20 54 63 6c 20 63 6f 6d 6d 61 6e   with Tcl comman
7320: 64 73 29 2e 0a 20 20 20 20 2d 20 45 78 70 6f 72  ds)..    - Expor
7330: 74 65 64 20 61 63 63 65 73 73 20 74 6f 20 54 63  ted access to Tc
7340: 6c 27 73 20 66 69 6c 65 20 74 61 62 6c 65 20 77  l's file table w
7350: 69 74 68 20 6e 65 77 20 70 72 6f 63 65 64 75 72  ith new procedur
7360: 65 73 20 54 63 6c 5f 45 6e 74 65 72 46 69 6c 65  es Tcl_EnterFile
7370: 0a 20 20 20 20 20 20 61 6e 64 20 54 63 6c 5f 47  .      and Tcl_G
7380: 65 74 4f 70 65 6e 46 69 6c 65 2e 0a 0a 31 38 32  etOpenFile...182
7390: 2e 20 35 2f 31 35 2f 39 33 20 41 64 64 65 64 20  . 5/15/93 Added 
73a0: 6e 65 77 20 22 70 69 64 22 20 63 6f 6d 6d 61 6e  new "pid" comman
73b0: 64 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65 20  d, which can be 
73c0: 75 73 65 64 20 74 6f 20 72 65 74 72 69 65 76 65  used to retrieve
73d0: 0a 65 69 74 68 65 72 20 74 68 65 20 63 75 72 72  .either the curr
73e0: 65 6e 74 20 70 72 6f 63 65 73 73 20 69 64 20 6f  ent process id o
73f0: 72 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20  r a list of the 
7400: 70 72 6f 63 65 73 73 20 69 64 73 20 69 6e 20 61  process ids in a
7410: 0a 70 69 70 65 6c 69 6e 65 20 6f 70 65 6e 65 64  .pipeline opened
7420: 20 77 69 74 68 20 22 6f 70 65 6e 20 7c 2e 2e 2e   with "open |...
7430: 22 0a 0a 31 38 33 2e 20 36 2f 33 2f 39 33 20 43  "..183. 6/3/93 C
7440: 68 61 6e 67 65 64 20 74 6f 20 75 73 65 20 47 4e  hanged to use GN
7450: 55 20 61 75 74 6f 63 6f 6e 66 69 67 20 66 6f 72  U autoconfig for
7460: 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69   configuration i
7470: 6e 73 74 65 61 64 20 6f 66 0a 74 68 65 20 68 6f  nstead of.the ho
7480: 6d 65 2d 62 72 65 77 20 22 63 6f 6e 66 69 67 22  me-brew "config"
7490: 20 73 63 72 69 70 74 2e 20 20 41 6c 73 6f 20 6d   script.  Also m
74a0: 61 64 65 20 6d 61 6e 79 20 6f 74 68 65 72 20 63  ade many other c
74b0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2d 72 65 6c  onfiguration-rel
74c0: 61 74 65 64 0a 63 68 61 6e 67 65 73 2c 20 73 75  ated.changes, su
74d0: 63 68 20 61 73 20 75 73 69 6e 67 20 3c 75 6e 69  ch as using <uni
74e0: 73 74 64 2e 68 3e 20 69 6e 73 74 65 61 64 20 6f  std.h> instead o
74f0: 66 20 65 78 70 6c 69 63 69 74 6c 79 20 64 65 63  f explicitly dec
7500: 6c 61 72 69 6e 67 20 73 79 73 74 65 6d 0a 63 61  laring system.ca
7510: 6c 6c 73 20 69 6e 20 74 63 6c 55 6e 69 78 2e 68  lls in tclUnix.h
7520: 2e 0a 0a 31 38 34 2e 20 36 2f 34 2f 39 33 20 46  ...184. 6/4/93 F
7530: 69 78 65 64 20 62 75 67 20 77 68 65 72 65 20 63  ixed bug where c
7540: 6f 72 65 2d 64 75 6d 70 73 20 63 6f 75 6c 64 20  ore-dumps could 
7550: 6f 63 63 75 72 20 69 66 20 61 20 70 72 6f 63 65  occur if a proce
7560: 64 75 72 65 0a 72 65 64 65 66 69 6e 65 64 20 69  dure.redefined i
7570: 74 73 65 6c 66 20 28 74 68 65 20 6d 65 6d 6f 72  tself (the memor
7580: 79 20 66 6f 72 20 74 68 65 20 70 72 6f 63 65 64  y for the proced
7590: 75 72 65 27 73 20 62 6f 64 79 20 63 6f 75 6c 64  ure's body could
75a0: 20 67 65 74 0a 72 65 61 6c 6c 6f 63 61 74 65 64   get.reallocated
75b0: 20 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 20 6f   in the middle o
75c0: 66 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 65  f evaluating the
75d0: 20 62 6f 64 79 29 3b 20 20 69 6d 70 6c 65 6d 65   body);  impleme
75e0: 6e 74 65 64 0a 73 69 6d 70 6c 65 20 72 65 66 65  nted.simple refe
75f0: 72 65 6e 63 65 20 63 6f 75 6e 74 20 6d 65 63 68  rence count mech
7600: 61 6e 69 73 6d 2e 0a 0a 31 38 35 2e 20 36 2f 35  anism...185. 6/5
7610: 2f 39 33 20 43 68 61 6e 67 65 64 20 74 63 6c 49  /93 Changed tclI
7620: 6e 64 65 78 20 66 69 6c 65 20 66 6f 72 6d 61 74  ndex file format
7630: 20 69 6e 20 74 77 6f 20 77 61 79 73 3a 20 20 28   in two ways:  (
7640: 61 29 20 69 74 27 73 20 6e 6f 77 0a 65 76 61 6c  a) it's now.eval
7650: 2d 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 70  -ed instead of p
7660: 61 72 73 65 64 2c 20 77 68 69 63 68 20 6d 61 6b  arsed, which mak
7670: 65 73 20 69 74 20 33 2d 34 78 20 66 61 73 74 65  es it 3-4x faste
7680: 72 3b 20 28 62 29 20 74 68 65 20 65 6e 74 72 69  r; (b) the entri
7690: 65 73 0a 69 6e 20 61 75 74 6f 5f 69 6e 64 65 78  es.in auto_index
76a0: 20 61 72 65 20 6e 6f 77 20 63 6f 6d 6d 61 6e 64   are now command
76b0: 73 20 74 6f 20 65 76 61 6c 75 61 74 65 2c 20 77  s to evaluate, w
76c0: 68 69 63 68 20 61 6c 6c 6f 77 73 20 63 6f 6d 6d  hich allows comm
76d0: 61 6e 64 73 20 74 6f 0a 62 65 20 6c 6f 61 64 65  ands to.be loade
76e0: 64 20 69 6e 20 64 69 66 66 65 72 65 6e 74 20 77  d in different w
76f0: 61 79 73 20 73 75 63 68 20 61 73 20 64 79 6e 61  ays such as dyna
7700: 6d 69 63 2d 6c 6f 61 64 69 6e 67 20 6f 66 20 43  mic-loading of C
7710: 20 63 6f 64 65 2e 20 20 54 68 65 0a 6f 6c 64 20   code.  The.old 
7720: 74 63 6c 49 6e 64 65 78 20 66 69 6c 65 20 66 6f  tclIndex file fo
7730: 72 6d 61 74 20 69 73 20 73 74 69 6c 6c 20 73 75  rmat is still su
7740: 70 70 6f 72 74 65 64 2e 0a 0a 31 38 36 2e 20 36  pported...186. 6
7750: 2f 37 2f 39 33 20 45 6c 69 6d 69 6e 61 74 65 64  /7/93 Eliminated
7760: 20 74 63 6c 54 65 73 74 20 70 72 6f 67 72 61 6d   tclTest program
7770: 2c 20 61 64 64 65 64 20 6e 65 77 20 22 74 63 6c  , added new "tcl
7780: 73 68 22 20 70 72 6f 67 72 61 6d 0a 74 68 61 74  sh" program.that
7790: 20 69 73 20 6d 6f 72 65 20 6c 69 6b 65 20 77 69   is more like wi
77a0: 73 68 20 28 61 6c 6c 6f 77 73 20 73 63 72 69 70  sh (allows scrip
77b0: 74 20 66 69 6c 65 73 20 74 6f 20 62 65 20 69 6e  t files to be in
77c0: 76 6f 6b 65 64 20 61 75 74 6f 6d 61 74 69 63 61  voked automatica
77d0: 6c 6c 79 0a 75 73 69 6e 67 20 22 23 21 2f 75 73  lly.using "#!/us
77e0: 72 2f 6c 6f 63 61 6c 2f 62 69 6e 2f 74 63 6c 73  r/local/bin/tcls
77f0: 68 22 2c 20 6d 61 6b 65 73 20 61 72 67 75 6d 65  h", makes argume
7800: 6e 74 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f  nts available to
7810: 20 73 63 72 69 70 74 2c 0a 65 74 63 2e 29 2e 20   script,.etc.). 
7820: 20 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66   Added support f
7830: 6f 72 20 54 63 6c 5f 41 70 70 49 6e 69 74 20 70  or Tcl_AppInit p
7840: 6c 75 73 20 64 65 66 61 75 6c 74 20 76 65 72 73  lus default vers
7850: 69 6f 6e 3b 20 20 74 68 69 73 0a 61 6c 6c 6f 77  ion;  this.allow
7860: 73 20 6e 65 77 20 54 63 6c 20 61 70 70 6c 69 63  s new Tcl applic
7870: 61 74 69 6f 6e 73 20 74 6f 20 62 65 20 63 72 65  ations to be cre
7880: 61 74 65 64 20 77 69 74 68 6f 75 74 20 6d 6f 64  ated without mod
7890: 69 66 79 69 6e 67 20 74 68 65 0a 6d 61 69 6e 20  ifying the.main 
78a0: 70 72 6f 67 72 61 6d 20 66 6f 72 20 74 63 6c 73  program for tcls
78b0: 68 2e 0a 0a 31 38 37 2e 20 36 2f 37 2f 39 33 20  h...187. 6/7/93 
78c0: 46 69 78 65 64 20 62 75 67 20 69 6e 20 54 63 6c  Fixed bug in Tcl
78d0: 57 6f 72 64 45 6e 64 20 74 68 61 74 20 6b 65 70  WordEnd that kep
78e0: 74 20 62 61 63 6b 73 6c 61 73 68 2d 6e 65 77 6c  t backslash-newl
78f0: 69 6e 65 20 66 72 6f 6d 0a 77 6f 72 6b 69 6e 67  ine from.working
7900: 20 63 6f 72 72 65 63 74 6c 79 20 69 6e 20 73 6f   correctly in so
7910: 6d 65 20 63 61 73 65 73 20 64 75 72 69 6e 67 20  me cases during 
7920: 69 6e 74 65 72 61 63 74 69 76 65 20 69 6e 70 75  interactive inpu
7930: 74 2e 0a 0a 31 38 38 2e 20 36 2f 39 2f 39 33 20  t...188. 6/9/93 
7940: 41 64 64 65 64 20 54 63 6c 5f 4c 69 6e 6b 56 61  Added Tcl_LinkVa
7950: 72 20 61 6e 64 20 72 65 6c 61 74 65 64 20 70 72  r and related pr
7960: 6f 63 65 64 75 72 65 73 2c 20 77 68 69 63 68 20  ocedures, which 
7970: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 6b 65  automatically.ke
7980: 65 70 20 61 20 54 63 6c 20 76 61 72 69 61 62 6c  ep a Tcl variabl
7990: 65 20 69 6e 20 73 79 6e 63 20 77 69 74 68 20 61  e in sync with a
79a0: 20 43 20 76 61 72 69 61 62 6c 65 2e 0a 0a 31 38   C variable...18
79b0: 39 2e 20 36 2f 31 36 2f 39 33 20 49 6e 63 72 65  9. 6/16/93 Incre
79c0: 61 73 65 64 20 6d 61 78 69 6d 75 6d 20 6e 65 73  ased maximum nes
79d0: 74 69 6e 67 20 64 65 70 74 68 20 66 72 6f 6d 20  ting depth from 
79e0: 31 30 30 20 74 6f 20 31 30 30 30 2e 0a 0a 31 39  100 to 1000...19
79f0: 30 2e 20 36 2f 31 36 2f 39 33 20 4d 6f 64 69 66  0. 6/16/93 Modif
7a00: 69 65 64 20 22 74 72 61 63 65 20 76 61 72 22 20  ied "trace var" 
7a10: 63 6f 6d 6d 61 6e 64 20 73 6f 20 74 68 61 74 20  command so that 
7a20: 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 20 66  error messages f
7a30: 72 6f 6d 0a 77 69 74 68 69 6e 20 74 72 61 63 65  rom.within trace
7a40: 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 20 70  s are returned p
7a50: 72 6f 70 65 72 6c 79 20 61 73 20 74 68 65 20 72  roperly as the r
7a60: 65 73 75 6c 74 20 6f 66 20 74 68 65 20 76 61 72  esult of the var
7a70: 69 61 62 6c 65 0a 61 63 63 65 73 73 2c 20 69 6e  iable.access, in
7a80: 73 74 65 61 64 20 6f 66 20 74 68 65 20 67 65 6e  stead of the gen
7a90: 65 72 69 63 20 22 61 63 63 65 73 73 20 64 69 73  eric "access dis
7aa0: 61 6c 6c 6f 77 65 64 20 62 79 20 74 72 61 63 65  allowed by trace
7ab0: 20 63 6f 6d 6d 61 6e 64 22 0a 6d 65 73 73 61 67   command".messag
7ac0: 65 2e 0a 0a 31 39 31 2e 20 36 2f 31 36 2f 39 33  e...191. 6/16/93
7ad0: 20 41 64 64 65 64 20 54 63 6c 5f 43 61 6c 6c 57   Added Tcl_CallW
7ae0: 68 65 6e 44 65 6c 65 74 65 64 20 74 6f 20 70 72  henDeleted to pr
7af0: 6f 76 69 64 65 20 63 61 6c 6c 62 61 63 6b 73 20  ovide callbacks 
7b00: 77 68 65 6e 20 61 6e 0a 69 6e 74 65 72 70 72 65  when an.interpre
7b10: 74 65 72 20 69 73 20 64 65 6c 65 74 65 64 20 28  ter is deleted (
7b20: 73 61 6d 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69  same functionali
7b30: 74 79 20 61 73 20 54 63 6c 5f 57 61 74 63 68 49  ty as Tcl_WatchI
7b40: 6e 74 65 72 70 2c 20 77 68 69 63 68 0a 75 73 65  nterp, which.use
7b50: 64 20 74 6f 20 65 78 69 73 74 20 69 6e 20 76 65  d to exist in ve
7b60: 72 73 69 6f 6e 73 20 62 65 66 6f 72 65 20 36 2e  rsions before 6.
7b70: 30 29 2e 0a 0a 31 39 33 2e 20 36 2f 31 36 2f 39  0)...193. 6/16/9
7b80: 33 20 41 64 64 65 64 20 22 2d 63 6f 64 65 22 20  3 Added "-code" 
7b90: 61 72 67 75 6d 65 6e 74 20 74 6f 20 22 72 65 74  argument to "ret
7ba0: 75 72 6e 22 20 63 6f 6d 6d 61 6e 64 3b 20 20 69  urn" command;  i
7bb0: 74 27 73 20 74 68 65 72 65 0a 70 72 69 6d 61 72  t's there.primar
7bc0: 69 6c 79 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65  ily for complete
7bd0: 6e 65 73 73 2c 20 73 6f 20 74 68 61 74 20 70 72  ness, so that pr
7be0: 6f 63 65 64 75 72 65 73 20 69 6d 70 6c 65 6d 65  ocedures impleme
7bf0: 6e 74 69 6e 67 20 63 6f 6e 74 72 6f 6c 0a 63 6f  nting control.co
7c00: 6e 73 74 72 75 63 74 73 20 63 61 6e 20 72 65 66  nstructs can ref
7c10: 6c 65 63 74 20 65 78 63 65 70 74 69 6f 6e 61 6c  lect exceptional
7c20: 20 63 6f 6e 64 69 74 69 6f 6e 73 20 62 61 63 6b   conditions back
7c30: 20 74 6f 20 74 68 65 69 72 20 63 61 6c 6c 65 72   to their caller
7c40: 73 2e 0a 0a 31 39 34 2e 20 36 2f 31 36 2f 39 33  s...194. 6/16/93
7c50: 20 53 70 6c 69 74 20 75 70 20 54 63 6c 2e 6e 20   Split up Tcl.n 
7c60: 74 6f 20 6d 61 6b 65 20 73 65 70 61 72 61 74 65  to make separate
7c70: 20 6d 61 6e 75 61 6c 20 65 6e 74 72 69 65 73 20   manual entries 
7c80: 66 6f 72 20 65 61 63 68 0a 54 63 6c 20 63 6f 6d  for each.Tcl com
7c90: 6d 61 6e 64 2e 20 20 54 63 6c 2e 6e 20 6e 6f 77  mand.  Tcl.n now
7ca0: 20 63 6f 6e 74 61 69 6e 73 20 61 20 73 75 6d 6d   contains a summ
7cb0: 61 72 79 20 6f 66 20 74 68 65 20 6c 61 6e 67 75  ary of the langu
7cc0: 61 67 65 20 73 79 6e 74 61 78 2e 0a 0a 31 39 35  age syntax...195
7cd0: 2e 20 36 2f 31 37 2f 39 33 20 41 64 64 65 64 20  . 6/17/93 Added 
7ce0: 6e 65 77 20 22 73 77 69 74 63 68 22 20 63 6f 6d  new "switch" com
7cf0: 6d 61 6e 64 20 74 6f 20 72 65 70 6c 61 63 65 20  mand to replace 
7d00: 22 63 61 73 65 22 3a 20 61 6c 6c 6f 77 73 0a 61  "case": allows.a
7d10: 6c 74 65 72 6e 61 74 65 20 66 6f 72 6d 73 20 6f  lternate forms o
7d20: 66 20 70 61 74 74 65 72 6e 20 6d 61 74 63 68 69  f pattern matchi
7d30: 6e 67 20 28 65 78 61 63 74 2c 20 67 6c 6f 62 2c  ng (exact, glob,
7d40: 20 72 65 67 65 78 70 29 2c 20 72 65 70 6c 61 63   regexp), replac
7d50: 65 73 0a 70 61 74 74 65 72 6e 20 6c 69 73 74 73  es.pattern lists
7d60: 20 77 69 74 68 20 73 69 6e 67 6c 65 20 70 61 74   with single pat
7d70: 74 65 72 6e 73 20 28 62 75 74 20 79 6f 75 20 63  terns (but you c
7d80: 61 6e 20 75 73 65 20 22 2d 22 20 62 6f 64 69 65  an use "-" bodie
7d90: 73 20 74 6f 0a 73 68 61 72 65 20 6f 6e 65 20 62  s to.share one b
7da0: 6f 64 79 20 61 6d 6f 6e 67 20 73 65 76 65 72 61  ody among severa
7db0: 6c 20 70 61 74 74 65 72 6e 73 29 2c 20 65 6c 69  l patterns), eli
7dc0: 6d 69 6e 61 74 65 73 20 22 69 6e 22 20 6e 6f 69  minates "in" noi
7dd0: 73 65 20 77 6f 72 64 2e 0a 22 43 61 73 65 22 20  se word.."Case" 
7de0: 63 6f 6d 6d 61 6e 64 20 69 73 20 6e 6f 77 20 6f  command is now o
7df0: 62 73 6f 6c 65 74 65 2e 0a 0a 31 39 36 2e 20 36  bsolete...196. 6
7e00: 2f 31 37 2f 39 33 20 43 68 61 6e 67 65 64 20 74  /17/93 Changed t
7e10: 68 65 20 22 65 78 65 63 22 2c 20 22 67 6c 6f 62  he "exec", "glob
7e20: 22 2c 20 22 72 65 67 65 78 70 22 2c 20 61 6e 64  ", "regexp", and
7e30: 20 22 72 65 67 73 75 62 22 20 63 6f 6d 6d 61 6e   "regsub" comman
7e40: 64 73 0a 74 6f 20 69 6e 63 6c 75 64 65 20 61 20  ds.to include a 
7e50: 22 2d 2d 22 20 73 77 69 74 63 68 2e 20 20 41 6c  "--" switch.  Al
7e60: 6c 20 69 6e 69 74 69 61 6c 20 61 72 67 75 6d 65  l initial argume
7e70: 6e 74 73 20 73 74 61 72 74 69 6e 67 20 77 69 74  nts starting wit
7e80: 68 20 22 2d 22 20 61 72 65 20 6e 6f 77 0a 74 72  h "-" are now.tr
7e90: 65 61 74 65 64 20 61 73 20 73 77 69 74 63 68 65  eated as switche
7ea0: 73 20 75 6e 6c 65 73 73 20 61 20 22 2d 2d 22 20  s unless a "--" 
7eb0: 73 77 69 74 63 68 20 69 73 20 70 72 65 73 65 6e  switch is presen
7ec0: 74 20 74 6f 20 65 6e 64 20 74 68 65 20 6c 69 73  t to end the lis
7ed0: 74 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  t..*** POTENTIAL
7ee0: 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59   INCOMPATIBILITY
7ef0: 20 2a 2a 2a 0a 0a 31 39 37 2e 20 36 2f 31 37 2f   ***..197. 6/17/
7f00: 39 33 20 43 68 61 6e 67 65 64 20 61 75 74 6f 2d  93 Changed auto-
7f10: 65 78 65 63 20 73 6f 20 74 68 61 74 20 74 68 65  exec so that the
7f20: 20 73 75 62 70 72 6f 63 65 73 73 20 67 65 74 73   subprocess gets
7f30: 20 73 74 64 69 6e 2c 20 73 74 64 6f 75 74 2c 0a   stdin, stdout,.
7f40: 61 6e 64 20 73 74 64 65 72 72 20 66 72 6f 6d 20  and stderr from 
7f50: 74 68 65 20 70 61 72 65 6e 74 2e 20 20 54 68 69  the parent.  Thi
7f60: 73 20 61 6c 6c 6f 77 73 20 74 72 75 6c 79 20 69  s allows truly i
7f70: 6e 74 65 72 61 63 74 69 76 65 20 73 75 62 2d 70  nteractive sub-p
7f80: 72 6f 63 65 73 73 65 73 0a 28 65 2e 67 2e 20 76  rocesses.(e.g. v
7f90: 69 29 20 74 6f 20 62 65 20 61 75 74 6f 2d 65 78  i) to be auto-ex
7fa0: 65 63 27 65 64 20 66 72 6f 6d 20 61 20 74 63 6c  ec'ed from a tcl
7fb0: 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 6c   shell command l
7fc0: 69 6e 65 2e 0a 0a 31 39 38 2e 20 36 2f 31 38 2f  ine...198. 6/18/
7fd0: 39 33 20 41 64 64 65 64 20 70 61 74 63 68 6c 65  93 Added patchle
7fe0: 76 65 6c 2e 68 2c 20 66 6f 72 20 75 73 65 20 69  vel.h, for use i
7ff0: 6e 20 63 6f 6f 72 64 69 6e 61 74 69 6e 67 20 66  n coordinating f
8000: 75 74 75 72 65 20 70 61 74 63 68 0a 72 65 6c 65  uture patch.rele
8010: 61 73 65 73 2c 20 61 6e 64 20 61 6c 73 6f 20 61  ases, and also a
8020: 64 64 65 64 20 22 69 6e 66 6f 20 70 61 74 63 68  dded "info patch
8030: 6c 65 76 65 6c 22 20 63 6f 6d 6d 61 6e 64 20 74  level" command t
8040: 6f 20 6d 61 6b 65 20 74 68 65 20 70 61 74 63 68  o make the patch
8050: 0a 6c 65 76 65 6c 20 61 76 61 69 6c 61 62 6c 65  .level available
8060: 20 74 6f 20 54 63 6c 20 73 63 72 69 70 74 73 2e   to Tcl scripts.
8070: 0a 0a 31 39 39 2e 20 36 2f 31 39 2f 39 33 20 4d  ..199. 6/19/93 M
8080: 6f 64 69 66 69 65 64 20 22 67 6c 6f 62 22 20 63  odified "glob" c
8090: 6f 6d 6d 61 6e 64 20 73 6f 20 74 68 61 74 20 61  ommand so that a
80a0: 20 6c 65 61 64 69 6e 67 20 22 2f 2f 22 20 69 6e   leading "//" in
80b0: 20 61 20 6e 61 6d 65 0a 67 65 74 73 20 6c 65 66   a name.gets lef
80c0: 74 20 61 73 20 69 73 20 28 74 68 69 73 20 69 73  t as is (this is
80d0: 20 6e 65 65 64 65 64 20 66 6f 72 20 73 79 73 74   needed for syst
80e0: 65 6d 73 20 6c 69 6b 65 20 41 70 6f 6c 6c 6f 73  ems like Apollos
80f0: 20 77 68 65 72 65 20 22 2f 2f 22 20 69 73 0a 74   where "//" is.t
8100: 68 65 20 73 75 70 65 72 2d 72 6f 6f 74 3b 20 20  he super-root;  
8110: 54 63 6c 20 75 73 65 64 20 74 6f 20 63 6f 6c 6c  Tcl used to coll
8120: 61 70 73 65 20 74 68 65 20 74 77 6f 20 73 6c 61  apse the two sla
8130: 73 68 65 73 20 69 6e 74 6f 20 61 20 73 69 6e 67  shes into a sing
8140: 6c 65 0a 73 6c 61 73 68 29 2e 0a 0a 32 30 30 2e  le.slash)...200.
8150: 20 37 2f 37 2f 39 33 20 41 64 64 65 64 20 54 63   7/7/93 Added Tc
8160: 6c 5f 53 65 74 52 65 63 75 72 73 69 6f 6e 4c 69  l_SetRecursionLi
8170: 6d 69 74 20 70 72 6f 63 65 64 75 72 65 20 73 6f  mit procedure so
8180: 20 74 68 61 74 20 74 68 65 20 6d 61 78 69 6d 75   that the maximu
8190: 6d 0a 61 6c 6c 6f 77 61 62 6c 65 20 6e 65 73 74  m.allowable nest
81a0: 69 6e 67 20 64 65 70 74 68 20 63 61 6e 20 62 65  ing depth can be
81b0: 20 63 6f 6e 74 72 6f 6c 6c 65 64 20 66 6f 72 20   controlled for 
81c0: 61 6e 20 69 6e 74 65 72 70 72 65 74 65 72 20 66  an interpreter f
81d0: 72 6f 6d 20 43 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  rom C...--------
81e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
81f0: 65 64 20 76 65 72 73 69 6f 6e 20 37 2e 30 20 42  ed version 7.0 B
8200: 65 74 61 20 31 2c 20 37 2f 39 2f 39 33 20 2d 2d  eta 1, 7/9/93 --
8210: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
8220: 0a 0a 32 30 31 2e 20 37 2f 31 32 2f 39 33 20 4d  ..201. 7/12/93 M
8230: 6f 64 69 66 69 65 64 20 54 63 6c 5f 47 65 74 49  odified Tcl_GetI
8240: 6e 74 20 61 6e 64 20 74 63 6c 45 78 70 72 2e 63  nt and tclExpr.c
8250: 20 73 6f 20 74 68 61 74 20 66 75 6c 6c 2d 70 72   so that full-pr
8260: 65 63 69 73 69 6f 6e 0a 75 6e 73 69 67 6e 65 64  ecision.unsigned
8270: 20 69 6e 74 65 67 65 72 73 20 63 61 6e 20 62 65   integers can be
8280: 20 73 70 65 63 69 66 69 65 64 20 77 69 74 68 6f   specified witho
8290: 75 74 20 6f 76 65 72 66 6c 6f 77 20 65 72 72 6f  ut overflow erro
82a0: 72 73 2e 0a 0a 32 30 32 2e 20 37 2f 31 32 2f 39  rs...202. 7/12/9
82b0: 33 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20  3 Configuration 
82c0: 63 68 61 6e 67 65 73 3a 20 20 65 6c 69 6d 69 6e  changes:  elimin
82d0: 61 74 65 20 6c 65 61 64 69 6e 67 20 62 6c 61 6e  ate leading blan
82e0: 6b 20 6c 69 6e 65 20 69 6e 0a 63 6f 6e 66 69 67  k line in.config
82f0: 75 72 65 20 73 63 72 69 70 74 3b 20 20 70 72 6f  ure script;  pro
8300: 76 69 64 65 20 73 65 70 61 72 61 74 65 20 74 61  vide separate ta
8310: 72 67 65 74 73 20 69 6e 20 4d 61 6b 65 66 69 6c  rgets in Makefil
8320: 65 20 66 6f 72 20 69 6e 73 74 61 6c 6c 69 6e 67  e for installing
8330: 0a 62 69 6e 61 72 79 20 61 6e 64 20 6e 6f 6e 2d  .binary and non-
8340: 62 69 6e 61 72 79 20 69 6e 66 6f 72 6d 61 74 69  binary informati
8350: 6f 6e 3b 20 63 68 65 63 6b 20 66 6f 72 20 73 69  on; check for si
8360: 7a 65 5f 74 20 61 6e 64 20 61 20 66 65 77 20 6f  ze_t and a few o
8370: 74 68 65 72 0a 70 6f 74 65 6e 74 69 61 6c 6c 79  ther.potentially
8380: 20 6d 69 73 73 69 6e 67 20 74 79 70 65 64 65 66   missing typedef
8390: 73 3b 20 64 6f 6e 27 74 20 70 75 74 20 74 63 6c  s; don't put tcl
83a0: 41 70 70 49 6e 69 74 2e 6f 20 69 6e 74 6f 20 6c  AppInit.o into l
83b0: 69 62 74 63 6c 2e 61 3b 0a 62 65 74 74 65 72 20  ibtcl.a;.better 
83c0: 63 68 65 63 6b 73 20 66 6f 72 20 6d 61 74 68 65  checks for mathe
83d0: 72 72 20 73 75 70 70 6f 72 74 2e 0a 0a 32 30 33  rr support...203
83e0: 2e 20 37 2f 31 34 2f 39 33 20 43 68 61 6e 67 65  . 7/14/93 Change
83f0: 64 20 74 63 6c 45 78 70 72 2e 63 20 74 6f 20 63  d tclExpr.c to c
8400: 68 65 63 6b 20 74 68 65 20 74 65 72 6d 69 6e 61  heck the termina
8410: 74 69 6f 6e 20 70 6f 69 6e 74 65 72 20 62 65 66  tion pointer bef
8420: 6f 72 65 0a 65 72 72 6e 6f 20 61 66 74 65 72 20  ore.errno after 
8430: 73 74 72 74 6f 64 20 63 61 6c 6c 73 2c 20 74 6f  strtod calls, to
8440: 20 61 76 6f 69 64 20 70 72 6f 62 6c 65 6d 73 20   avoid problems 
8450: 77 69 74 68 20 73 6f 6d 65 20 76 65 72 73 69 6f  with some versio
8460: 6e 73 20 6f 66 0a 73 74 72 74 6f 64 20 74 68 61  ns of.strtod tha
8470: 74 20 73 65 74 20 65 72 72 6e 6f 20 69 6e 20 75  t set errno in u
8480: 6e 65 78 70 65 63 74 65 64 20 77 61 79 73 2e 0a  nexpected ways..
8490: 0a 32 30 34 2e 20 37 2f 31 36 2f 39 33 20 43 68  .204. 7/16/93 Ch
84a0: 61 6e 67 65 64 20 22 73 63 61 6e 22 20 63 6f 6d  anged "scan" com
84b0: 6d 61 6e 64 20 74 6f 20 62 65 20 6d 6f 72 65 20  mand to be more 
84c0: 41 4e 53 49 2d 63 6f 6e 66 6f 72 6d 61 6e 74 3a  ANSI-conformant:
84d0: 0a 65 6c 69 6d 69 6e 61 74 65 64 20 25 46 2c 20  .eliminated %F, 
84e0: 25 44 2c 20 65 74 63 2e 2c 20 61 64 64 65 64 20  %D, etc., added 
84f0: 63 6f 64 65 20 74 6f 20 69 67 6e 6f 72 65 20 22  code to ignore "
8500: 6c 22 2c 20 22 68 22 2c 20 61 6e 64 20 22 4c 22  l", "h", and "L"
8510: 0a 6d 6f 64 69 66 69 65 72 73 20 62 75 74 20 61  .modifiers but a
8520: 6c 77 61 79 73 20 63 6f 6e 76 65 72 74 20 25 65  lways convert %e
8530: 2c 20 25 66 2c 20 61 6e 64 20 25 67 20 77 69 74  , %f, and %g wit
8540: 68 20 69 6d 70 6c 69 63 69 74 20 22 6c 22 3b 0a  h implicit "l";.
8550: 61 6c 73 6f 20 61 64 64 65 64 20 73 75 70 70 6f  also added suppo
8560: 72 74 20 66 6f 72 20 25 75 20 61 6e 64 20 25 69  rt for %u and %i
8570: 2e 20 20 41 6c 73 6f 20 63 68 61 6e 67 65 64 20  .  Also changed 
8580: 22 66 6f 72 6d 61 74 22 20 63 6f 6d 6d 61 6e 64  "format" command
8590: 0a 74 6f 20 65 6c 69 6d 69 6e 61 74 65 20 25 44  .to eliminate %D
85a0: 2c 20 25 55 2c 20 25 4f 2c 20 61 6e 64 20 61 64  , %U, %O, and ad
85b0: 64 20 25 69 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54  d %i..*** POTENT
85c0: 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
85d0: 49 54 59 20 2a 2a 2a 0a 0a 32 30 35 2e 20 37 2f  ITY ***..205. 7/
85e0: 31 37 2f 39 33 20 43 68 61 6e 67 65 64 20 22 75  17/93 Changed "u
85f0: 70 6c 65 76 65 6c 22 20 61 6e 64 20 22 75 70 76  plevel" and "upv
8600: 61 72 22 20 73 6f 20 74 68 61 74 20 74 68 65 79  ar" so that they
8610: 20 63 61 6e 20 62 65 20 75 73 65 64 0a 66 72 6f   can be used.fro
8620: 6d 20 67 6c 6f 62 61 6c 20 6c 65 76 65 6c 20 74  m global level t
8630: 6f 20 67 6c 6f 62 61 6c 20 6c 65 76 65 6c 3a 20  o global level: 
8640: 20 74 68 69 73 20 75 73 65 64 20 74 6f 20 67 65   this used to ge
8650: 6e 65 72 61 74 65 20 61 6e 20 65 72 72 6f 72 2e  nerate an error.
8660: 0a 0a 32 30 36 2e 20 37 2f 31 39 2f 39 33 20 52  ..206. 7/19/93 R
8670: 65 6e 61 6d 65 64 20 22 73 65 74 65 6e 76 22 2c  enamed "setenv",
8680: 20 22 70 75 74 65 6e 76 22 2c 20 61 6e 64 20 22   "putenv", and "
8690: 75 6e 73 65 74 65 6e 76 22 20 70 72 6f 63 65 64  unsetenv" proced
86a0: 75 72 65 73 0a 74 6f 20 61 76 6f 69 64 20 63 6f  ures.to avoid co
86b0: 6e 66 6c 69 63 74 73 20 77 69 74 68 20 73 79 73  nflicts with sys
86c0: 74 65 6d 20 70 72 6f 63 65 64 75 72 65 73 20 77  tem procedures w
86d0: 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61 6d  ith the same nam
86e0: 65 73 2e 20 20 49 66 0a 79 6f 75 20 77 61 6e 74  es.  If.you want
86f0: 20 54 63 6c 27 73 20 70 72 6f 63 65 64 75 72 65   Tcl's procedure
8700: 73 20 74 6f 20 6f 76 65 72 72 69 64 65 20 74 68  s to override th
8710: 65 20 73 79 73 74 65 6d 20 70 72 6f 63 65 64 75  e system procedu
8720: 72 65 73 2c 20 64 6f 20 69 74 0a 69 6e 20 74 68  res, do it.in th
8730: 65 20 4d 61 6b 65 66 69 6c 65 20 28 69 6e 73 74  e Makefile (inst
8740: 72 75 63 74 69 6f 6e 73 20 61 72 65 20 69 6e 20  ructions are in 
8750: 74 68 65 20 4d 61 6b 65 66 69 6c 65 29 2e 0a 2a  the Makefile)..*
8760: 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
8770: 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
8780: 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
8790: 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65 72  --- Released ver
87a0: 73 69 6f 6e 20 37 2e 30 20 42 65 74 61 20 32 2c  sion 7.0 Beta 2,
87b0: 20 37 2f 32 31 2f 39 33 20 2d 2d 2d 2d 2d 2d 2d   7/21/93 -------
87c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 30 37  -----------..207
87d0: 2e 20 37 2f 32 31 2f 39 33 20 46 69 78 65 64 20  . 7/21/93 Fixed 
87e0: 62 75 67 20 69 6e 20 74 63 6c 56 61 72 2e 63 20  bug in tclVar.c 
87f0: 77 68 65 72 65 20 66 72 65 65 64 20 6d 65 6d 6f  where freed memo
8800: 72 79 20 77 61 73 20 61 63 63 69 64 65 6e 74 61  ry was accidenta
8810: 6c 6c 79 0a 75 73 65 64 20 69 66 20 61 20 70 72  lly.used if a pr
8820: 6f 63 65 64 75 72 65 20 72 65 74 75 72 6e 65 64  ocedure returned
8830: 20 61 6e 20 65 6c 65 6d 65 6e 74 20 6f 66 20 61   an element of a
8840: 20 6c 6f 63 61 6c 20 61 72 72 61 79 2e 0a 0a 32   local array...2
8850: 30 38 2e 20 37 2f 32 32 2f 39 33 20 46 69 78 65  08. 7/22/93 Fixe
8860: 64 20 62 75 67 20 69 6e 20 22 75 6e 6b 6e 6f 77  d bug in "unknow
8870: 6e 22 20 77 68 65 72 65 20 69 74 20 64 69 64 6e  n" where it didn
8880: 27 74 20 70 72 6f 70 65 72 6c 79 20 68 61 6e 64  't properly hand
8890: 6c 65 0a 65 72 72 6f 72 73 20 6f 63 63 75 72 72  le.errors occurr
88a0: 69 6e 67 20 69 6e 20 74 68 65 20 22 61 75 74 6f  ing in the "auto
88b0: 5f 6c 6f 61 64 22 20 70 72 6f 63 65 64 75 72 65  _load" procedure
88c0: 2c 20 6c 65 61 76 69 6e 67 20 69 74 73 20 73 74  , leaving its st
88d0: 61 74 65 0a 69 6e 63 6f 6e 73 69 73 74 65 6e 74  ate.inconsistent
88e0: 2e 0a 0a 32 30 39 2e 20 37 2f 32 33 2f 39 33 20  ...209. 7/23/93 
88f0: 43 68 61 6e 67 65 64 20 65 78 65 63 27 73 20 22  Changed exec's "
8900: 3e 32 22 20 72 65 64 69 72 65 63 74 69 6f 6e 20  >2" redirection 
8910: 6f 70 65 72 61 74 6f 72 20 74 6f 20 22 32 3e 22  operator to "2>"
8920: 20 66 6f 72 0a 63 6f 6e 73 69 73 74 65 6e 63 79   for.consistency
8930: 20 77 69 74 68 20 73 68 2e 20 20 54 68 69 73 20   with sh.  This 
8940: 69 73 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20  is incompatible 
8950: 77 69 74 68 20 65 61 72 6c 69 65 72 20 62 65 74  with earlier bet
8960: 61 20 72 65 6c 65 61 73 65 73 0a 6f 66 20 37 2e  a releases.of 7.
8970: 30 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20 70  0 but not with p
8980: 72 65 2d 37 2e 30 20 72 65 6c 65 61 73 65 73 2c  re-7.0 releases,
8990: 20 77 68 69 63 68 20 64 69 64 6e 27 74 20 73 75   which didn't su
89a0: 70 70 6f 72 74 20 65 69 74 68 65 72 0a 6f 70 65  pport either.ope
89b0: 72 61 74 6f 72 2e 0a 0a 32 31 30 2e 20 37 2f 32  rator...210. 7/2
89c0: 38 2f 39 33 20 43 68 61 6e 67 65 64 20 62 61 63  8/93 Changed bac
89d0: 6b 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65 20 68  kslash-newline h
89e0: 61 6e 64 6c 69 6e 67 20 73 6f 20 74 68 61 74 20  andling so that 
89f0: 74 68 65 20 72 65 73 75 6c 74 69 6e 67 0a 73 70  the resulting.sp
8a00: 61 63 65 20 63 68 61 72 61 63 74 65 72 20 2a 69  ace character *i
8a10: 73 2a 20 74 72 65 61 74 65 64 20 61 73 20 61 20  s* treated as a 
8a20: 77 6f 72 64 20 73 65 70 61 72 61 74 6f 72 20 75  word separator u
8a30: 6e 6c 65 73 73 20 74 68 65 20 62 61 63 6b 73 6c  nless the backsl
8a40: 61 73 68 0a 73 65 71 75 65 6e 63 65 20 69 73 20  ash.sequence is 
8a50: 69 6e 20 71 75 6f 74 65 73 20 6f 72 20 62 72 61  in quotes or bra
8a60: 63 65 73 2e 20 20 54 68 69 73 20 69 73 20 69 6e  ces.  This is in
8a70: 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20  compatible with 
8a80: 37 2e 30 62 31 0a 61 6e 64 20 37 2e 30 62 32 20  7.0b1.and 7.0b2 
8a90: 62 75 74 20 69 73 20 6d 6f 72 65 20 63 6f 6d 70  but is more comp
8aa0: 61 74 69 62 6c 65 20 77 69 74 68 20 70 72 65 2d  atible with pre-
8ab0: 37 2e 30 20 76 65 72 73 69 6f 6e 73 20 74 68 61  7.0 versions tha
8ac0: 74 20 74 68 65 20 62 31 0a 61 6e 64 20 62 32 20  t the b1.and b2 
8ad0: 72 65 6c 65 61 73 65 73 20 77 65 72 65 2e 0a 0a  releases were...
8ae0: 32 31 31 2e 20 37 2f 32 38 2f 39 33 20 45 6c 69  211. 7/28/93 Eli
8af0: 6d 69 6e 61 74 65 64 20 54 63 6c 5f 4c 69 6e 6b  minated Tcl_Link
8b00: 65 64 56 61 72 57 72 69 74 61 62 6c 65 2c 20 61  edVarWritable, a
8b10: 64 64 65 64 20 54 43 4c 5f 4c 49 4e 4b 5f 52 45  dded TCL_LINK_RE
8b20: 41 44 5f 4f 4e 4c 59 20 74 6f 0a 54 63 6c 5f 4c  AD_ONLY to.Tcl_L
8b30: 69 6e 6b 56 61 72 20 74 6f 20 61 63 63 6f 6d 70  inkVar to accomp
8b40: 6c 69 73 68 20 73 61 6d 65 20 70 75 72 70 6f 73  lish same purpos
8b50: 65 2e 20 20 54 68 69 73 20 63 68 61 6e 67 65 20  e.  This change 
8b60: 69 73 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 0a  is incompatible.
8b70: 77 69 74 68 20 65 61 72 6c 69 65 72 20 62 65 74  with earlier bet
8b80: 61 20 72 65 6c 65 61 73 65 73 2c 20 62 75 74 20  a releases, but 
8b90: 6e 6f 74 20 77 69 74 68 20 72 65 6c 65 61 73 65  not with release
8ba0: 73 20 62 65 66 6f 72 65 20 54 63 6c 20 37 2e 30  s before Tcl 7.0
8bb0: 2e 0a 0a 32 31 32 2e 20 37 2f 32 39 2f 39 33 20  ...212. 7/29/93 
8bc0: 52 65 6e 61 6d 65 64 20 72 65 67 65 78 70 20 43  Renamed regexp C
8bd0: 20 66 75 6e 63 74 69 6f 6e 73 20 73 6f 20 74 68   functions so th
8be0: 65 79 20 77 6f 6e 27 74 20 63 6c 61 73 68 20 77  ey won't clash w
8bf0: 69 74 68 20 50 4f 53 49 58 0a 72 65 67 65 78 70  ith POSIX.regexp
8c00: 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20   functions that 
8c10: 75 73 65 20 74 68 65 20 73 61 6d 65 20 6e 61 6d  use the same nam
8c20: 65 2e 0a 0a 32 31 33 2e 20 38 2f 33 2f 39 33 20  e...213. 8/3/93 
8c30: 41 64 64 65 64 20 22 2d 65 72 72 6f 72 69 6e 66  Added "-errorinf
8c40: 6f 22 20 61 6e 64 20 22 2d 65 72 72 6f 72 63 6f  o" and "-errorco
8c50: 64 65 22 20 6f 70 74 69 6f 6e 73 20 74 6f 20 22  de" options to "
8c60: 72 65 74 75 72 6e 22 0a 63 6f 6d 6d 61 6e 64 3a  return".command:
8c70: 20 74 68 65 73 65 20 61 6c 6c 6f 77 20 66 6f 72   these allow for
8c80: 20 6d 75 63 68 20 62 65 74 74 65 72 20 68 61 6e   much better han
8c90: 64 6c 69 6e 67 20 6f 66 20 74 68 65 20 65 72 72  dling of the err
8ca0: 6f 72 49 6e 66 6f 0a 61 6e 64 20 65 72 72 6f 72  orInfo.and error
8cb0: 43 6f 64 65 20 76 61 72 69 61 62 6c 65 73 20 69  Code variables i
8cc0: 6e 20 73 6f 6d 65 20 63 61 73 65 73 2e 0a 0a 32  n some cases...2
8cd0: 31 34 2e 20 38 2f 31 32 2f 39 33 20 43 68 61 6e  14. 8/12/93 Chan
8ce0: 67 65 64 20 22 65 78 70 72 22 20 73 6f 20 74 68  ged "expr" so th
8cf0: 61 74 20 25 20 61 6c 77 61 79 73 20 72 65 74 75  at % always retu
8d00: 72 6e 73 20 61 20 72 65 6d 61 69 6e 64 65 72 20  rns a remainder 
8d10: 77 69 74 68 0a 74 68 65 20 73 61 6d 65 20 73 69  with.the same si
8d20: 67 6e 20 61 73 20 74 68 65 20 64 69 76 69 73 6f  gn as the diviso
8d30: 72 20 61 6e 64 20 61 62 73 6f 6c 75 74 65 20 76  r and absolute v
8d40: 61 6c 75 65 20 73 6d 61 6c 6c 65 72 20 74 68 61  alue smaller tha
8d50: 6e 20 74 68 65 0a 64 69 76 69 73 6f 72 2e 0a 0a  n the.divisor...
8d60: 32 31 35 2e 20 38 2f 31 34 2f 39 33 20 54 75 72  215. 8/14/93 Tur
8d70: 6e 65 64 20 6f 66 66 20 61 75 74 6f 2d 65 78 65  ned off auto-exe
8d80: 63 20 69 6e 20 22 75 6e 6b 6e 6f 77 6e 22 20 75  c in "unknown" u
8d90: 6e 6c 65 73 73 20 74 68 65 20 63 6f 6d 6d 61 6e  nless the comman
8da0: 64 0a 77 61 73 20 74 79 70 65 64 20 69 6e 74 65  d.was typed inte
8db0: 72 61 63 74 69 76 65 6c 79 2e 20 20 54 68 69 73  ractively.  This
8dc0: 20 6d 65 61 6e 73 20 79 6f 75 20 6d 75 73 74 20   means you must 
8dd0: 75 73 65 20 22 65 78 65 63 22 20 77 68 65 6e 0a  use "exec" when.
8de0: 69 6e 76 6f 6b 69 6e 67 20 73 75 62 70 72 6f 63  invoking subproc
8df0: 65 73 73 65 73 2c 20 75 6e 6c 65 73 73 20 69 74  esses, unless it
8e00: 27 73 20 61 20 63 6f 6d 6d 61 6e 64 20 74 68 61  's a command tha
8e10: 74 27 73 20 74 79 70 65 64 20 69 6e 74 65 72 61  t's typed intera
8e20: 63 74 69 76 65 6c 79 2e 0a 2a 2a 2a 20 50 4f 54  ctively..*** POT
8e30: 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
8e40: 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 32 31 36 2e  BILITY ***..216.
8e50: 20 38 2f 31 34 2f 39 33 20 41 64 64 65 64 20 73   8/14/93 Added s
8e60: 75 70 70 6f 72 74 20 66 6f 72 20 74 63 6c 5f 70  upport for tcl_p
8e70: 72 6f 6d 70 74 31 20 61 6e 64 20 74 63 6c 5f 70  rompt1 and tcl_p
8e80: 72 6f 6d 70 74 32 20 76 61 72 69 61 62 6c 65 73  rompt2 variables
8e90: 0a 74 6f 20 74 63 6c 4d 61 69 6e 2e 63 3a 20 20  .to tclMain.c:  
8ea0: 6d 61 6b 65 73 20 70 72 6f 6d 70 74 73 20 75 73  makes prompts us
8eb0: 65 72 2d 73 65 74 74 61 62 6c 65 2e 0a 0a 32 31  er-settable...21
8ec0: 37 2e 20 38 2f 31 34 2f 39 33 20 41 64 64 65 64  7. 8/14/93 Added
8ed0: 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 68 61   asynchronous ha
8ee0: 6e 64 6c 65 72 73 20 28 54 63 6c 5f 41 73 79 6e  ndlers (Tcl_Asyn
8ef0: 63 43 72 65 61 74 65 20 65 74 63 2e 29 20 73 6f  cCreate etc.) so
8f00: 0a 74 68 61 74 20 73 69 67 6e 61 6c 73 20 63 61  .that signals ca
8f10: 6e 20 62 65 20 74 61 6b 65 6e 20 63 6c 65 61 6e  n be taken clean
8f20: 6c 79 20 62 79 20 54 63 6c 20 61 70 70 6c 69 63  ly by Tcl applic
8f30: 61 74 69 6f 6e 73 2e 0a 0a 32 31 38 2e 20 38 2f  ations...218. 8/
8f40: 31 36 2f 39 33 20 4d 6f 76 65 64 20 69 6e 66 6f  16/93 Moved info
8f50: 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 6f 70  rmation about op
8f60: 65 6e 20 66 69 6c 65 73 20 66 72 6f 6d 20 74 68  en files from th
8f70: 65 20 69 6e 74 65 72 70 72 65 74 65 72 0a 73 74  e interpreter.st
8f80: 72 75 63 74 75 72 65 20 74 6f 20 67 6c 6f 62 61  ructure to globa
8f90: 6c 20 76 61 72 69 61 62 6c 65 73 20 73 6f 20 74  l variables so t
8fa0: 68 61 74 20 61 20 66 69 6c 65 20 63 61 6e 20 62  hat a file can b
8fb0: 65 20 6f 70 65 6e 65 64 20 69 6e 20 6f 6e 65 0a  e opened in one.
8fc0: 69 6e 74 65 72 70 72 65 74 65 72 20 61 6e 64 20  interpreter and 
8fd0: 72 65 61 64 20 6f 72 20 77 72 69 74 74 65 6e 20  read or written 
8fe0: 69 6e 20 61 6e 6f 74 68 65 72 2e 0a 0a 32 31 39  in another...219
8ff0: 2e 20 38 2f 31 36 2f 39 33 20 52 65 6d 6f 76 65  . 8/16/93 Remove
9000: 64 20 45 4e 56 5f 46 4c 41 47 53 20 66 72 6f 6d  d ENV_FLAGS from
9010: 20 4d 61 6b 65 66 69 6c 65 2c 20 73 6f 20 74 68   Makefile, so th
9020: 61 74 20 74 68 65 72 65 27 73 20 6e 6f 0a 6f 66  at there's no.of
9030: 66 69 63 69 61 6c 20 73 75 70 70 6f 72 74 20 66  ficial support f
9040: 6f 72 20 6f 76 65 72 72 69 64 69 6e 67 20 73 65  or overriding se
9050: 74 65 6e 76 2c 20 75 6e 73 65 74 65 6e 76 2c 20  tenv, unsetenv, 
9060: 61 6e 64 20 70 75 74 65 6e 76 2e 0a 0a 32 32 30  and putenv...220
9070: 2e 20 38 2f 32 30 2f 39 33 20 56 61 72 69 6f 75  . 8/20/93 Variou
9080: 73 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20  s configuration 
9090: 69 6d 70 72 6f 76 65 6d 65 6e 74 73 3a 20 20 63  improvements:  c
90a0: 6f 65 72 63 65 20 63 68 61 72 73 0a 74 6f 20 75  oerce chars.to u
90b0: 6e 73 69 67 6e 65 64 20 63 68 61 72 73 20 62 65  nsigned chars be
90c0: 66 6f 72 65 20 75 73 69 6e 67 20 6d 61 63 72 6f  fore using macro
90d0: 73 20 6c 69 6b 65 20 69 73 73 70 61 63 65 3b 20  s like isspace; 
90e0: 20 73 6f 75 72 63 65 20 7e 2f 2e 74 63 6c 73 68   source ~/.tclsh
90f0: 72 63 0a 66 69 6c 65 20 64 75 72 69 6e 67 20 69  rc.file during i
9100: 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 69 66  nitialization if
9110: 20 69 74 20 65 78 69 73 74 73 20 61 6e 64 20 70   it exists and p
9120: 72 6f 67 72 61 6d 20 69 73 20 72 75 6e 6e 69 6e  rogram is runnin
9130: 67 0a 69 6e 74 65 72 61 63 74 69 76 65 6c 79 3b  g.interactively;
9140: 20 20 61 6c 6c 6f 77 20 74 68 65 72 65 20 74 6f    allow there to
9150: 20 62 65 20 64 69 72 65 63 74 6f 72 69 65 73 20   be directories 
9160: 69 6e 20 61 75 74 6f 5f 70 61 74 68 20 74 68 61  in auto_path tha
9170: 74 20 64 6f 6e 27 74 0a 65 78 69 73 74 20 6f 72  t don't.exist or
9180: 20 64 6f 6e 27 74 20 68 61 76 65 20 74 63 6c 49   don't have tclI
9190: 6e 64 65 78 20 66 69 6c 65 73 20 28 69 67 6e 6f  ndex files (igno
91a0: 72 65 20 74 68 65 6d 29 3b 20 61 64 64 65 64 20  re them); added 
91b0: 54 63 6c 5f 49 6e 69 74 0a 70 72 6f 63 65 64 75  Tcl_Init.procedu
91c0: 72 65 20 61 6e 64 20 63 68 61 6e 67 65 64 20 54  re and changed T
91d0: 63 6c 5f 41 70 70 49 6e 69 74 20 74 6f 20 63 61  cl_AppInit to ca
91e0: 6c 6c 20 69 74 2e 0a 0a 32 32 31 2e 20 38 2f 32  ll it...221. 8/2
91f0: 31 2f 39 33 20 46 69 78 65 64 20 62 75 67 20 69  1/93 Fixed bug i
9200: 6e 20 65 78 70 72 20 77 68 65 72 65 20 22 2b 22  n expr where "+"
9210: 2c 20 22 2d 22 2c 20 61 6e 64 20 22 20 22 20 77  , "-", and " " w
9220: 65 72 65 20 61 6c 6c 0a 67 65 74 74 69 6e 67 20  ere all.getting 
9230: 74 72 65 61 74 65 64 20 61 73 20 69 6e 74 65 67  treated as integ
9240: 65 72 73 20 77 69 74 68 20 76 61 6c 75 65 20 30  ers with value 0
9250: 2e 0a 0a 32 32 32 2e 20 38 2f 32 36 2f 39 33 20  ...222. 8/26/93 
9260: 41 64 64 65 64 20 22 74 63 6c 5f 69 6e 74 65 72  Added "tcl_inter
9270: 61 63 74 69 76 65 22 20 76 61 72 69 61 62 6c 65  active" variable
9280: 20 74 6f 20 74 63 6c 73 68 2e 0a 0a 32 32 33 2e   to tclsh...223.
9290: 20 38 2f 32 37 2f 39 33 20 41 64 64 65 64 20 70   8/27/93 Added p
92a0: 72 6f 63 65 64 75 72 65 20 54 63 6c 5f 46 69 6c  rocedure Tcl_Fil
92b0: 65 50 65 72 6d 69 73 73 69 6f 6e 73 20 74 6f 20  ePermissions to 
92c0: 72 65 74 75 72 6e 20 77 68 65 74 68 65 72 20 61  return whether a
92d0: 0a 67 69 76 65 6e 20 66 69 6c 65 20 63 61 6e 20  .given file can 
92e0: 62 65 20 72 65 61 64 20 6f 72 20 77 72 69 74 74  be read or writt
92f0: 65 6e 20 6f 72 20 62 6f 74 68 2e 20 20 4d 6f 64  en or both.  Mod
9300: 69 66 69 65 64 20 54 63 6c 5f 45 6e 74 65 72 46  ified Tcl_EnterF
9310: 69 6c 65 0a 74 6f 20 74 61 6b 65 20 61 20 70 65  ile.to take a pe
9320: 72 6d 69 73 73 69 6f 6e 73 20 6d 61 73 6b 20 72  rmissions mask r
9330: 61 74 68 65 72 20 74 68 61 6e 20 73 65 70 61 72  ather than separ
9340: 61 74 65 20 72 65 61 64 20 61 6e 64 20 77 72 69  ate read and wri
9350: 74 65 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 32  te arguments...2
9360: 32 34 2e 20 38 2f 32 38 2f 39 33 20 46 69 78 65  24. 8/28/93 Fixe
9370: 64 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 62 75  d performance bu
9380: 67 20 69 6e 20 22 67 6c 6f 62 22 20 63 6f 6d 6d  g in "glob" comm
9390: 61 6e 64 20 28 75 6e 6e 65 63 65 73 73 61 72 79  and (unnecessary
93a0: 20 63 61 6c 6c 0a 74 6f 20 22 61 63 63 65 73 73   call.to "access
93b0: 22 20 66 6f 72 20 65 61 63 68 20 66 69 6c 65 20  " for each file 
93c0: 63 61 75 73 65 64 20 61 20 35 2d 31 30 78 20 73  caused a 5-10x s
93d0: 6c 6f 77 2d 64 6f 77 6e 20 66 6f 72 20 62 69 67  low-down for big
93e0: 20 64 69 72 65 63 74 6f 72 69 65 73 29 2e 0a 0a   directories)...
93f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
9400: 2d 20 52 65 6c 65 61 73 65 64 20 76 65 72 73 69  - Released versi
9410: 6f 6e 20 37 2e 30 20 42 65 74 61 20 33 2c 20 38  on 7.0 Beta 3, 8
9420: 2f 32 38 2f 39 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d  /28/93 ---------
9430: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 32 35 2e 20  ---------..225. 
9440: 39 2f 39 2f 39 33 20 52 65 6e 61 6d 65 64 20 72  9/9/93 Renamed r
9450: 65 67 65 78 70 2e 68 20 74 6f 20 74 63 6c 52 65  egexp.h to tclRe
9460: 67 65 78 70 2e 68 20 74 6f 20 61 76 6f 69 64 20  gexp.h to avoid 
9470: 63 6f 6e 66 6c 69 63 74 73 20 77 69 74 68 20 73  conflicts with s
9480: 79 73 74 65 6d 0a 69 6e 63 6c 75 64 65 20 66 69  ystem.include fi
9490: 6c 65 20 62 79 20 73 61 6d 65 20 6e 61 6d 65 2e  le by same name.
94a0: 0a 0a 32 32 36 2e 20 39 2f 39 2f 39 33 20 41 64  ..226. 9/9/93 Ad
94b0: 64 65 64 20 54 63 6c 5f 44 6f 6e 74 43 61 6c 6c  ded Tcl_DontCall
94c0: 57 68 65 6e 44 65 6c 65 74 65 64 2e 0a 0a 32 32  WhenDeleted...22
94d0: 37 2e 20 39 2f 31 36 2f 39 33 20 43 68 61 6e 67  7. 9/16/93 Chang
94e0: 65 64 20 6e 6f 74 20 74 6f 20 63 61 6c 6c 20 65  ed not to call e
94f0: 78 69 74 20 43 20 70 72 6f 63 65 64 75 72 65 20  xit C procedure 
9500: 64 69 72 65 63 74 6c 79 3b 20 20 69 6e 73 74 65  directly;  inste
9510: 61 64 0a 61 6c 77 61 79 73 20 69 6e 76 6f 6b 65  ad.always invoke
9520: 20 22 65 78 69 74 22 20 54 63 6c 20 63 6f 6d 6d   "exit" Tcl comm
9530: 61 6e 64 20 73 6f 20 74 68 61 74 20 61 70 70 6c  and so that appl
9540: 69 63 61 74 69 6f 6e 20 63 61 6e 20 72 65 64 65  ication can rede
9550: 66 69 6e 65 20 74 68 65 0a 63 6f 6d 6d 61 6e 64  fine the.command
9560: 20 74 6f 20 64 6f 20 61 64 64 69 74 69 6f 6e 61   to do additiona
9570: 6c 20 63 6c 65 61 6e 75 70 2e 0a 0a 32 32 38 2e  l cleanup...228.
9580: 20 39 2f 31 37 2f 39 33 20 43 68 61 6e 67 65 64   9/17/93 Changed
9590: 20 61 75 74 6f 2d 65 78 65 63 20 74 6f 20 68 61   auto-exec to ha
95a0: 6e 64 6c 65 20 6e 61 6d 65 73 20 74 68 61 74 20  ndle names that 
95b0: 63 6f 6e 74 61 69 6e 20 73 6c 61 73 68 65 73 0a  contain slashes.
95c0: 28 69 2e 65 2e 20 64 6f 6e 27 74 20 75 73 65 20  (i.e. don't use 
95d0: 50 41 54 48 20 66 6f 72 20 74 68 65 6d 29 2e 0a  PATH for them)..
95e0: 0a 32 32 39 2e 20 39 2f 32 33 2f 39 33 20 46 69  .229. 9/23/93 Fi
95f0: 78 65 64 20 62 75 67 20 69 6e 20 22 72 65 61 64  xed bug in "read
9600: 22 20 61 6e 64 20 22 67 65 74 73 22 20 63 6f 6d  " and "gets" com
9610: 6d 61 6e 64 73 20 77 68 65 72 65 20 74 68 65 79  mands where they
9620: 20 64 69 64 6e 27 74 0a 63 6c 65 61 72 20 45 4f   didn't.clear EO
9630: 46 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 0a 0a 2d  F conditions...-
9640: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
9650: 20 52 65 6c 65 61 73 65 64 20 76 65 72 73 69 6f   Released versio
9660: 6e 20 37 2e 30 2c 20 39 2f 32 39 2f 39 33 20 2d  n 7.0, 9/29/93 -
9670: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
9680: 2d 0a 0a 32 33 30 2e 20 31 30 2f 37 2f 39 33 20  -..230. 10/7/93 
9690: 22 53 63 61 6e 22 20 63 6f 6d 6d 61 6e 64 20 77  "Scan" command w
96a0: 61 73 6e 27 74 20 70 72 6f 70 65 72 6c 79 20 61  asn't properly a
96b0: 6c 69 67 6e 69 6e 67 20 74 68 69 6e 67 73 20 69  ligning things i
96c0: 6e 20 6d 65 6d 6f 72 79 2c 0a 73 6f 20 73 65 67  n memory,.so seg
96d0: 6d 65 6e 74 61 74 69 6f 6e 20 66 61 75 6c 74 73  mentation faults
96e0: 20 63 6f 75 6c 64 20 61 72 69 73 65 20 75 6e 64   could arise und
96f0: 65 72 20 73 6f 6d 65 20 63 69 72 63 75 6d 73 74  er some circumst
9700: 61 6e 63 65 73 2e 0a 0a 32 33 31 2e 20 31 30 2f  ances...231. 10/
9710: 37 2f 39 33 20 46 69 78 65 64 20 62 75 67 20 69  7/93 Fixed bug i
9720: 6e 20 54 63 6c 5f 43 6f 6e 76 65 72 74 45 6c 65  n Tcl_ConvertEle
9730: 6d 65 6e 74 20 77 68 65 72 65 20 69 74 20 66 6f  ment where it fo
9740: 72 67 6f 74 20 74 6f 0a 62 61 63 6b 73 6c 61 73  rgot to.backslas
9750: 68 20 6c 65 61 64 69 6e 67 20 63 75 72 6c 79 20  h leading curly 
9760: 62 72 61 63 65 20 77 68 65 6e 20 63 72 65 61 74  brace when creat
9770: 69 6e 67 20 6c 69 73 74 73 2e 0a 0a 32 33 32 2e  ing lists...232.
9780: 20 31 30 2f 37 2f 39 33 20 45 6c 69 6d 69 6e 61   10/7/93 Elimina
9790: 74 65 64 20 64 65 70 65 6e 64 65 6e 63 79 20 6f  ted dependency o
97a0: 66 20 74 63 6c 4d 61 69 6e 2e 63 20 6f 6e 20 74  f tclMain.c on t
97b0: 63 6c 49 6e 74 2e 68 20 61 6e 64 0a 74 63 6c 55  clInt.h and.tclU
97c0: 6e 69 78 2e 68 2c 20 73 6f 20 74 68 61 74 20 70  nix.h, so that p
97d0: 65 6f 70 6c 65 20 63 61 6e 20 63 6f 70 79 20 74  eople can copy t
97e0: 68 65 20 66 69 6c 65 20 6f 75 74 20 6f 66 20 74  he file out of t
97f0: 68 65 20 54 63 6c 20 73 6f 75 72 63 65 0a 64 69  he Tcl source.di
9800: 72 65 63 74 6f 72 79 20 74 6f 20 6d 61 6b 65 20  rectory to make 
9810: 6d 6f 64 69 66 69 65 64 20 70 72 69 76 61 74 65  modified private
9820: 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 32 33 33 2e   versions...233.
9830: 20 31 30 2f 38 2f 39 33 20 46 69 78 65 64 20 62   10/8/93 Fixed b
9840: 75 67 20 69 6e 20 61 75 74 6f 2d 6c 6f 61 64 65  ug in auto-loade
9850: 72 20 74 68 61 74 20 72 65 76 65 72 73 65 64 20  r that reversed 
9860: 74 68 65 20 70 72 69 6f 72 69 74 79 20 6f 72 64  the priority ord
9870: 65 72 0a 6f 66 20 65 6e 74 72 69 65 73 20 69 6e  er.of entries in
9880: 20 61 75 74 6f 5f 70 61 74 68 20 66 6f 72 20 6e   auto_path for n
9890: 65 77 2d 73 74 79 6c 65 20 69 6e 64 65 78 20 66  ew-style index f
98a0: 69 6c 65 73 2e 20 20 4e 6f 77 20 74 68 69 6e 67  iles.  Now thing
98b0: 73 20 61 72 65 0a 62 61 63 6b 20 74 6f 20 74 68  s are.back to th
98c0: 65 20 77 61 79 20 74 68 65 79 20 77 65 72 65 20  e way they were 
98d0: 62 65 66 6f 72 65 20 33 2e 30 3a 20 20 66 69 72  before 3.0:  fir
98e0: 73 74 20 69 6e 20 61 75 74 6f 5f 70 61 74 68 20  st in auto_path 
98f0: 69 73 20 61 6c 77 61 79 73 0a 68 69 67 68 65 73  is always.highes
9900: 74 20 70 72 69 6f 72 69 74 79 2e 0a 0a 32 33 34  t priority...234
9910: 2e 20 31 30 2f 31 33 2f 39 33 20 46 69 78 65 64  . 10/13/93 Fixed
9920: 20 62 75 67 20 77 68 65 72 65 20 54 63 6c 5f 43   bug where Tcl_C
9930: 6f 6d 6d 61 6e 64 43 6f 6d 70 6c 65 74 65 20 64  ommandComplete d
9940: 69 64 6e 27 74 20 72 65 63 6f 67 6e 69 7a 65 0a  idn't recognize.
9950: 63 6f 6d 6d 65 6e 74 73 20 61 6e 64 20 74 72 65  comments and tre
9960: 61 74 20 74 68 65 6d 20 61 73 20 73 75 63 68 2e  at them as such.
9970: 20 20 54 68 75 73 20 69 66 20 79 6f 75 20 74 79    Thus if you ty
9980: 70 65 64 20 74 68 65 20 6c 69 6e 65 0a 20 20 20  ped the line.   
9990: 20 23 20 7b 0a 69 6e 74 65 72 61 63 74 69 76 65   # {.interactive
99a0: 6c 79 2c 20 54 63 6c 20 77 6f 75 6c 64 20 74 68  ly, Tcl would th
99b0: 69 6e 6b 20 74 68 61 74 20 74 68 65 20 63 6f 6d  ink that the com
99c0: 6d 61 6e 64 20 77 61 73 6e 27 74 20 63 6f 6d 70  mand wasn't comp
99d0: 6c 65 74 65 20 61 6e 64 0a 77 61 69 74 20 66 6f  lete and.wait fo
99e0: 72 20 6d 6f 72 65 20 69 6e 70 75 74 20 62 65 66  r more input bef
99f0: 6f 72 65 20 65 76 61 6c 75 61 74 69 6e 67 20 74  ore evaluating t
9a00: 68 65 20 73 63 72 69 70 74 2e 0a 0a 32 33 35 2e  he script...235.
9a10: 20 31 30 2f 31 34 2f 39 33 20 46 69 78 65 64 20   10/14/93 Fixed 
9a20: 62 75 67 20 77 68 65 72 65 20 22 72 65 67 73 75  bug where "regsu
9a30: 62 22 20 64 69 64 6e 27 74 20 73 65 74 20 74 68  b" didn't set th
9a40: 65 20 6f 75 74 70 75 74 20 76 61 72 69 61 62 6c  e output variabl
9a50: 65 0a 69 66 20 74 68 65 20 69 6e 70 75 74 20 73  e.if the input s
9a60: 74 72 69 6e 67 20 77 61 73 20 65 6d 70 74 79 2e  tring was empty.
9a70: 0a 0a 32 33 36 2e 20 31 30 2f 32 33 2f 39 33 20  ..236. 10/23/93 
9a80: 46 69 78 65 64 20 62 75 67 20 77 68 65 72 65 20  Fixed bug where 
9a90: 54 63 6c 5f 43 72 65 61 74 65 50 69 70 65 6c 69  Tcl_CreatePipeli
9aa0: 6e 65 20 64 69 64 6e 27 74 20 63 6c 6f 73 65 20  ne didn't close 
9ab0: 6f 66 66 20 65 6e 6f 75 67 68 0a 66 69 6c 65 20  off enough.file 
9ac0: 64 65 73 63 72 69 70 74 6f 72 73 20 69 6e 20 63  descriptors in c
9ad0: 68 69 6c 64 20 70 72 6f 63 65 73 73 65 73 2c 20  hild processes, 
9ae0: 63 61 75 73 69 6e 67 20 63 68 69 6c 64 72 65 6e  causing children
9af0: 20 6e 6f 74 20 74 6f 20 65 78 69 74 0a 70 72 6f   not to exit.pro
9b00: 70 65 72 6c 79 20 69 6e 20 73 6f 6d 65 20 63 61  perly in some ca
9b10: 73 65 73 2e 0a 0a 32 33 37 2e 20 31 30 2f 32 38  ses...237. 10/28
9b20: 2f 39 33 20 43 68 61 6e 67 65 64 20 22 6c 69 73  /93 Changed "lis
9b30: 74 22 20 61 6e 64 20 22 63 6f 6e 63 61 74 22 20  t" and "concat" 
9b40: 63 6f 6d 6d 61 6e 64 73 20 6e 6f 74 20 74 6f 20  commands not to 
9b50: 67 65 6e 65 72 61 74 65 0a 65 72 72 6f 72 73 20  generate.errors 
9b60: 69 66 20 67 69 76 65 6e 20 7a 65 72 6f 20 61 72  if given zero ar
9b70: 67 75 6d 65 6e 74 73 2c 20 62 75 74 20 69 6e 73  guments, but ins
9b80: 74 65 61 64 20 74 6f 20 6a 75 73 74 20 72 65 74  tead to just ret
9b90: 75 72 6e 20 61 6e 20 65 6d 70 74 79 0a 73 74 72  urn an empty.str
9ba0: 69 6e 67 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ing...----------
9bb0: 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
9bc0: 20 76 65 72 73 69 6f 6e 20 37 2e 31 2c 20 31 31   version 7.1, 11
9bd0: 2f 34 2f 39 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  /4/93 ----------
9be0: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4e 6f 74 65 3a 20  --------..Note: 
9bf0: 74 68 65 72 65 20 69 73 20 6e 6f 20 37 2e 32 20  there is no 7.2 
9c00: 72 65 6c 65 61 73 65 2e 20 20 49 74 20 77 61 73  release.  It was
9c10: 20 66 6c 61 77 65 64 20 61 6e 64 20 77 61 73 20   flawed and was 
9c20: 74 68 75 73 20 77 69 74 68 64 72 61 77 6e 0a 73  thus withdrawn.s
9c30: 68 6f 72 74 6c 79 20 61 66 74 65 72 20 69 74 20  hortly after it 
9c40: 77 61 73 20 72 65 6c 65 61 73 65 64 2e 0a 0a 32  was released...2
9c50: 33 38 2e 20 31 31 2f 31 30 2f 39 33 20 54 63 6c  38. 11/10/93 Tcl
9c60: 4d 61 69 6e 2e 63 20 64 69 64 6e 27 74 20 63 6f  Main.c didn't co
9c70: 6d 70 69 6c 65 20 6f 6e 20 73 6f 6d 65 20 73 79  mpile on some sy
9c80: 73 74 65 6d 73 20 62 65 63 61 75 73 65 20 6f 66  stems because of
9c90: 0a 52 5f 4f 4b 20 69 6e 20 63 61 6c 6c 20 74 6f  .R_OK in call to
9ca0: 20 22 61 63 63 65 73 73 22 2e 20 20 43 68 61 6e   "access".  Chan
9cb0: 67 65 64 20 74 6f 20 65 6c 69 6d 69 6e 61 74 65  ged to eliminate
9cc0: 20 63 61 6c 6c 20 74 6f 20 22 61 63 63 65 73 73   call to "access
9cd0: 22 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  "...------------
9ce0: 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76  ----- Released v
9cf0: 65 72 73 69 6f 6e 20 37 2e 33 2c 20 31 31 2f 32  ersion 7.3, 11/2
9d00: 36 2f 39 33 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  6/93 -----------
9d10: 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 33 39 2e 20 31 31  -------..239. 11
9d20: 2f 36 2f 39 33 20 4d 6f 64 69 66 69 65 64 20 22  /6/93 Modified "
9d30: 6c 69 6e 64 65 78 22 2c 20 22 6c 69 6e 73 65 72  lindex", "linser
9d40: 74 22 2c 20 22 6c 72 61 6e 67 65 22 2c 20 61 6e  t", "lrange", an
9d50: 64 20 22 6c 72 65 70 6c 61 63 65 22 0a 73 6f 20  d "lreplace".so 
9d60: 74 68 61 74 20 22 65 6e 64 22 20 63 61 6e 20 62  that "end" can b
9d70: 65 20 73 70 65 63 69 66 69 65 64 20 61 73 20 61  e specified as a
9d80: 6e 20 69 6e 64 65 78 2e 0a 0a 32 34 30 2e 20 31  n index...240. 1
9d90: 31 2f 36 2f 39 33 20 4d 6f 64 69 66 69 65 64 20  1/6/93 Modified 
9da0: 22 61 70 70 65 6e 64 22 20 61 6e 64 20 22 6c 61  "append" and "la
9db0: 70 70 65 6e 64 22 20 74 6f 20 61 6c 6c 6f 77 20  ppend" to allow 
9dc0: 6f 6e 6c 79 20 74 77 6f 0a 77 6f 72 64 73 20 74  only two.words t
9dd0: 6f 74 61 6c 20 28 69 2e 65 2e 2c 20 6e 6f 74 68  otal (i.e., noth
9de0: 69 6e 67 20 74 6f 20 61 70 70 65 6e 64 29 20 77  ing to append) w
9df0: 69 74 68 6f 75 74 20 67 65 6e 65 72 61 74 69 6e  ithout generatin
9e00: 67 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 32 34 31  g an error...241
9e10: 2e 20 31 32 2f 32 2f 39 33 20 43 68 61 6e 67 65  . 12/2/93 Change
9e20: 64 20 74 6f 20 75 73 65 20 45 41 47 41 49 4e 20  d to use EAGAIN 
9e30: 61 73 20 74 68 65 20 65 72 72 6e 6f 20 66 6f 72  as the errno for
9e40: 20 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e 67 0a 49 2f   non-blocking.I/
9e50: 4f 20 69 6e 73 74 65 61 64 20 6f 66 20 45 57 4f  O instead of EWO
9e60: 55 4c 44 42 4c 4f 43 4b 3a 20 20 74 68 69 73 20  ULDBLOCK:  this 
9e70: 73 68 6f 75 6c 64 20 66 69 78 20 70 72 6f 62 6c  should fix probl
9e80: 65 6d 20 77 68 65 72 65 20 6e 6f 6e 2d 62 6c 6f  em where non-blo
9e90: 63 6b 69 6e 67 0a 49 2f 4f 20 64 69 64 6e 27 74  cking.I/O didn't
9ea0: 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c 79 20   work correctly 
9eb0: 6f 6e 20 53 79 73 74 65 6d 2d 56 20 73 79 73 74  on System-V syst
9ec0: 65 6d 73 2e 0a 0a 32 34 32 2e 20 31 32 2f 32 32  ems...242. 12/22
9ed0: 2f 39 33 20 46 69 78 65 64 20 62 75 67 20 69 6e  /93 Fixed bug in
9ee0: 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 65   expressions whe
9ef0: 72 65 20 63 61 6e 63 65 6c 6c 65 64 20 65 76 61  re cancelled eva
9f00: 6c 75 61 74 69 6f 6e 0a 77 61 73 6e 27 74 20 61  luation.wasn't a
9f10: 6c 77 61 79 73 20 77 6f 72 6b 69 6e 67 20 63 6f  lways working co
9f20: 72 72 65 63 74 6c 79 20 28 65 2e 67 2e 20 22 73  rrectly (e.g. "s
9f30: 65 74 20 6f 6e 65 20 31 3b 20 65 76 61 6c 20 7b  et one 1; eval {
9f40: 31 20 7c 7c 20 31 2f 24 6f 6e 65 7d 22 0a 66 61  1 || 1/$one}".fa
9f50: 69 6c 65 64 20 77 69 74 68 20 61 20 64 69 76 69  iled with a divi
9f60: 64 65 20 62 79 20 7a 65 72 6f 20 65 72 72 6f 72  de by zero error
9f70: 29 2e 0a 0a 32 34 33 2e 20 31 2f 36 2f 39 34 20  )...243. 1/6/94 
9f80: 43 68 61 6e 67 65 64 20 54 43 4c 5f 56 4f 4c 41  Changed TCL_VOLA
9f90: 54 49 4c 45 20 64 65 66 69 6e 69 74 69 6f 6e 20  TILE definition 
9fa0: 66 72 6f 6d 20 2d 31 20 74 6f 20 74 68 65 20 61  from -1 to the a
9fb0: 64 64 72 65 73 73 20 6f 66 0a 61 20 64 75 6d 6d  ddress of.a dumm
9fc0: 79 20 70 72 6f 63 65 64 75 72 65 20 54 63 6c 5f  y procedure Tcl_
9fd0: 56 6f 6c 61 74 69 6c 65 2c 20 73 69 6e 63 65 20  Volatile, since 
9fe0: 2d 31 20 63 61 75 73 65 73 20 70 6f 72 74 61 62  -1 causes portab
9ff0: 69 6c 69 74 79 20 70 72 6f 62 6c 65 6d 73 20 6f  ility problems o
a000: 6e 0a 73 6f 6d 65 20 6d 61 63 68 69 6e 65 73 20  n.some machines 
a010: 28 65 2e 67 2e 2c 20 43 72 61 79 73 29 2e 0a 0a  (e.g., Crays)...
a020: 32 34 34 2e 20 32 2f 34 2f 39 34 20 41 64 64 65  244. 2/4/94 Adde
a030: 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 75 6e  d support for un
a040: 61 72 79 20 70 6c 75 73 2e 0a 0a 32 34 35 2e 20  ary plus...245. 
a050: 32 2f 31 37 2f 39 34 20 43 68 61 6e 67 65 64 20  2/17/94 Changed 
a060: 54 63 6c 5f 52 65 63 6f 72 64 41 6e 64 45 76 61  Tcl_RecordAndEva
a070: 6c 20 61 6e 64 20 22 68 69 73 74 6f 72 79 22 20  l and "history" 
a080: 63 6f 6d 6d 61 6e 64 20 74 6f 0a 63 61 6c 6c 20  command to.call 
a090: 54 63 6c 5f 47 6c 6f 62 61 6c 45 76 61 6c 20 69  Tcl_GlobalEval i
a0a0: 6e 73 74 65 61 64 20 6f 66 20 54 63 6c 5f 45 76  nstead of Tcl_Ev
a0b0: 61 6c 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20  al.  Otherwise, 
a0c0: 69 6e 76 6f 63 61 74 69 6f 6e 20 6f 66 0a 74 68  invocation of.th
a0d0: 65 73 65 20 66 61 63 69 6c 69 74 69 65 73 20 69  ese facilities i
a0e0: 6e 20 6e 65 73 74 65 64 20 70 72 6f 63 65 64 75  n nested procedu
a0f0: 72 65 73 20 63 61 6e 20 63 61 75 73 65 20 75 6e  res can cause un
a100: 77 61 6e 74 65 64 20 72 65 73 75 6c 74 73 2e 0a  wanted results..
a110: 0a 32 34 36 2e 20 32 2f 31 37 2f 39 34 20 46 69  .246. 2/17/94 Fi
a120: 78 65 64 20 62 75 67 20 69 6e 20 74 63 6c 45 78  xed bug in tclEx
a130: 70 72 2e 63 20 77 68 65 72 65 20 61 6e 20 65 78  pr.c where an ex
a140: 70 72 65 73 73 69 6f 6e 20 73 75 63 68 20 61 73  pression such as
a150: 0a 22 65 78 70 72 20 7b 22 31 32 33 39 38 37 31  ."expr {"1239871
a160: 32 39 33 38 37 38 38 32 33 34 2d 31 32 39 38 33  2938788234-12983
a170: 37 39 22 20 21 3d 20 22 22 7d 22 20 74 72 69 67  79" != ""}" trig
a180: 67 65 72 73 20 61 6e 20 69 6e 74 65 67 65 72 0a  gers an integer.
a190: 6f 76 65 72 66 6c 6f 77 20 65 72 72 6f 72 20 66  overflow error f
a1a0: 6f 72 20 74 68 65 20 6e 75 6d 62 65 72 20 69 6e  or the number in
a1b0: 20 71 75 6f 74 65 73 2c 20 65 76 65 6e 20 74 68   quotes, even th
a1c0: 6f 75 67 68 20 69 74 20 69 73 6e 27 74 20 72 65  ough it isn't re
a1d0: 61 6c 6c 79 0a 61 20 70 72 6f 70 65 72 20 69 6e  ally.a proper in
a1e0: 74 65 67 65 72 20 61 6e 79 77 61 79 2e 0a 0a 32  teger anyway...2
a1f0: 34 37 2e 20 32 2f 31 39 2f 39 34 20 41 64 64 65  47. 2/19/94 Adde
a200: 64 20 6e 65 77 20 70 72 6f 63 65 64 75 72 65 20  d new procedure 
a210: 54 63 6c 5f 44 53 74 72 69 6e 67 47 65 74 52 65  Tcl_DStringGetRe
a220: 73 75 6c 74 20 74 6f 20 6d 6f 76 65 20 72 65 73  sult to move res
a230: 75 6c 74 0a 66 72 6f 6d 20 69 6e 74 65 72 70 72  ult.from interpr
a240: 65 74 65 72 20 74 6f 20 61 20 64 79 6e 61 6d 69  eter to a dynami
a250: 63 20 73 74 72 69 6e 67 2e 0a 0a 32 34 38 2e 20  c string...248. 
a260: 32 2f 31 39 2f 39 34 20 46 69 78 65 64 20 62 75  2/19/94 Fixed bu
a270: 67 20 69 6e 20 54 63 6c 5f 44 53 74 72 69 6e 67  g in Tcl_DString
a280: 52 65 73 75 6c 74 20 74 68 61 74 20 63 61 75 73  Result that caus
a290: 65 64 20 69 74 20 74 6f 20 6f 76 65 72 77 72 69  ed it to overwri
a2a0: 74 65 0a 74 68 65 20 63 6f 6e 74 65 6e 74 73 20  te.the contents 
a2b0: 6f 66 20 61 20 73 74 61 74 69 63 20 72 65 73 75  of a static resu
a2c0: 6c 74 20 69 6e 20 73 6f 6d 65 20 73 69 74 75 61  lt in some situa
a2d0: 74 69 6f 6e 73 2e 20 20 54 68 69 73 20 63 61 6e  tions.  This can
a2e0: 20 63 61 75 73 65 0a 62 69 7a 61 72 72 65 20 65   cause.bizarre e
a2f0: 72 72 6f 72 73 20 73 75 63 68 20 61 73 20 76 61  rrors such as va
a300: 72 69 61 62 6c 65 73 20 73 75 64 64 65 6e 6c 79  riables suddenly
a310: 20 68 61 76 69 6e 67 20 65 6d 70 74 79 20 76 61   having empty va
a320: 6c 75 65 73 2e 0a 0a 32 34 39 2e 20 32 2f 32 31  lues...249. 2/21
a330: 2f 39 34 20 46 69 78 65 64 20 62 75 67 20 69 6e  /94 Fixed bug in
a340: 20 54 63 6c 5f 41 70 70 65 6e 64 45 6c 65 6d 65   Tcl_AppendEleme
a350: 6e 74 2c 20 54 63 6c 5f 44 53 74 72 69 6e 67 41  nt, Tcl_DStringA
a360: 70 70 65 6e 64 45 6c 65 6d 65 6e 74 2c 0a 61 6e  ppendElement,.an
a370: 64 20 74 68 65 20 22 6c 61 70 70 65 6e 64 22 20  d the "lappend" 
a380: 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20 63 61 75  command that cau
a390: 73 65 64 20 69 6d 70 72 6f 70 65 72 20 6f 6d 69  sed improper omi
a3a0: 73 73 69 6f 6e 20 6f 66 20 61 20 73 65 70 61 72  ssion of a separ
a3b0: 61 74 6f 72 0a 73 70 61 63 65 20 69 6e 20 73 6f  ator.space in so
a3c0: 6d 65 20 63 61 73 65 73 2e 20 20 46 6f 72 20 65  me cases.  For e
a3d0: 78 61 6d 70 6c 65 2c 20 74 68 65 20 73 63 72 69  xample, the scri
a3e0: 70 74 0a 20 20 20 20 73 65 74 20 78 20 22 61 62  pt.    set x "ab
a3f0: 63 7b 22 3b 20 6c 61 70 70 65 6e 64 20 78 20 22  c{"; lappend x "
a400: 64 65 66 22 0a 75 73 65 64 20 74 6f 20 72 65 74  def".used to ret
a410: 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 20 22  urn the result "
a420: 61 62 63 7b 64 65 66 22 20 69 6e 73 74 65 61 64  abc{def" instead
a430: 20 6f 66 20 22 61 62 63 7b 20 64 65 66 22 2e 0a   of "abc{ def"..
a440: 0a 32 35 30 2e 20 33 2f 33 2f 39 34 20 54 63 6c  .250. 3/3/94 Tcl
a450: 5f 43 6f 6e 76 65 72 74 45 6c 65 6d 65 6e 74 20  _ConvertElement 
a460: 77 61 73 20 6f 75 74 70 75 74 74 69 6e 67 20 65  was outputting e
a470: 6d 70 74 79 20 65 6c 65 6d 65 6e 74 73 20 61 73  mpty elements as
a480: 20 5c 30 20 69 66 0a 54 43 4c 5f 44 4f 4e 54 5f   \0 if.TCL_DONT_
a490: 55 53 45 5f 42 52 41 43 45 53 20 77 61 73 20 73  USE_BRACES was s
a4a0: 65 74 2e 20 20 54 68 69 73 20 64 65 70 65 6e 64  et.  This depend
a4b0: 73 20 6f 6e 20 6f 6c 64 20 70 72 65 2d 37 2e 30  s on old pre-7.0
a4c0: 20 6d 65 61 6e 69 6e 67 20 6f 66 0a 5c 30 2c 20   meaning of.\0, 
a4d0: 77 68 69 63 68 20 69 73 20 6e 6f 20 6c 6f 6e 67  which is no long
a4e0: 65 72 20 69 6e 20 65 66 66 65 63 74 2c 20 73 6f  er in effect, so
a4f0: 20 69 74 20 64 69 64 6e 27 74 20 72 65 61 6c 6c   it didn't reall
a500: 79 20 77 6f 72 6b 2e 20 20 43 68 61 6e 67 65 64  y work.  Changed
a510: 0a 74 6f 20 6f 75 74 70 75 74 20 65 6d 70 74 79  .to output empty
a520: 20 65 6c 65 6d 65 6e 74 73 20 61 73 20 7b 7d 20   elements as {} 
a530: 61 6c 77 61 79 73 2e 0a 0a 32 35 31 2e 20 33 2f  always...251. 3/
a540: 33 2f 39 34 20 52 65 6e 61 6d 65 64 20 54 63 6c  3/94 Renamed Tcl
a550: 5f 44 53 74 72 69 6e 67 54 72 75 6e 63 20 74 6f  _DStringTrunc to
a560: 20 54 63 6c 5f 44 53 74 72 69 6e 67 53 65 74 4c   Tcl_DStringSetL
a570: 65 6e 67 74 68 20 61 6e 64 20 65 78 74 65 6e 64  ength and extend
a580: 65 64 0a 69 74 20 73 6f 20 74 68 61 74 20 69 74  ed.it so that it
a590: 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20   can be used to 
a5a0: 6c 65 6e 67 74 68 65 6e 20 61 20 73 74 72 69 6e  lengthen a strin
a5b0: 67 20 61 73 20 77 65 6c 6c 20 61 73 20 73 68 6f  g as well as sho
a5c0: 72 74 65 6e 20 69 74 2e 0a 54 63 6c 5f 44 53 74  rten it..Tcl_DSt
a5d0: 72 69 6e 67 54 72 75 6e 63 20 69 73 20 64 65 66  ringTrunc is def
a5e0: 69 6e 65 64 20 61 73 20 61 20 6d 61 63 72 6f 20  ined as a macro 
a5f0: 66 6f 72 20 62 61 63 6b 77 61 72 64 20 63 6f 6d  for backward com
a600: 70 61 74 69 62 69 6c 69 74 79 2c 20 62 75 74 0a  patibility, but.
a610: 69 74 20 69 73 20 64 65 70 72 65 63 61 74 65 64  it is deprecated
a620: 2e 0a 0a 32 35 32 2e 20 33 2f 33 2f 39 34 20 41  ...252. 3/3/94 A
a630: 64 64 65 64 20 54 63 6c 5f 41 6c 6c 6f 77 45 78  dded Tcl_AllowEx
a640: 63 65 70 74 69 6f 6e 73 20 70 72 6f 63 65 64 75  ceptions procedu
a650: 72 65 2e 0a 0a 32 35 33 2e 20 33 2f 31 33 2f 39  re...253. 3/13/9
a660: 34 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 54  4 Fixed bug in T
a670: 63 6c 5f 46 6f 72 6d 61 74 43 6d 64 20 74 68 61  cl_FormatCmd tha
a680: 74 20 63 6f 75 6c 64 20 63 61 75 73 65 20 22 66  t could cause "f
a690: 6f 72 6d 61 74 22 0a 74 6f 20 6d 69 73 2d 62 65  ormat".to mis-be
a6a0: 68 61 76 65 20 6f 6e 20 36 34 2d 62 69 74 20 42  have on 64-bit B
a6b0: 69 67 2d 45 6e 64 69 61 6e 20 6d 61 63 68 69 6e  ig-Endian machin
a6c0: 65 73 2e 0a 0a 32 35 34 2e 20 33 2f 31 33 2f 39  es...254. 3/13/9
a6d0: 34 20 43 68 61 6e 67 65 64 20 74 6f 20 75 73 65  4 Changed to use
a6e0: 20 76 66 6f 72 6b 20 69 6e 73 74 65 61 64 20 6f   vfork instead o
a6f0: 66 20 66 6f 72 6b 20 6f 6e 20 73 79 73 74 65 6d  f fork on system
a700: 73 20 77 68 65 72 65 0a 76 66 6f 72 6b 20 65 78  s where.vfork ex
a710: 69 73 74 73 2e 0a 0a 32 35 35 2e 20 33 2f 32 33  ists...255. 3/23
a720: 2f 39 34 20 46 69 78 65 64 20 62 75 67 20 69 6e  /94 Fixed bug in
a730: 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 65   expressions whe
a740: 72 65 20 3f 3a 20 64 69 64 6e 27 74 20 61 73 73  re ?: didn't ass
a750: 6f 63 69 61 74 65 0a 72 69 67 68 74 2d 74 6f 2d  ociate.right-to-
a760: 6c 65 66 74 20 61 73 20 74 68 65 79 20 73 68 6f  left as they sho
a770: 75 6c 64 2e 0a 0a 32 35 36 2e 20 34 2f 33 2f 39  uld...256. 4/3/9
a780: 34 20 46 69 78 65 64 20 22 65 78 65 63 22 20 74  4 Fixed "exec" t
a790: 6f 20 66 6c 75 73 68 20 61 6e 79 20 66 69 6c 65  o flush any file
a7a0: 73 20 75 73 65 64 20 69 6e 20 3e 40 20 6f 72 20  s used in >@ or 
a7b0: 3e 26 40 0a 72 65 64 69 72 65 63 74 69 6f 6e 20  >&@.redirection 
a7c0: 69 6e 20 65 78 65 63 2c 20 73 6f 20 74 68 61 74  in exec, so that
a7d0: 20 64 61 74 61 20 62 75 66 66 65 72 65 64 20 66   data buffered f
a7e0: 6f 72 20 74 68 65 6d 20 69 73 20 77 72 69 74 74  or them is writt
a7f0: 65 6e 0a 62 65 66 6f 72 65 20 61 6e 79 20 6e 65  en.before any ne
a800: 77 20 64 61 74 61 20 61 64 64 65 64 20 62 79 20  w data added by 
a810: 74 68 65 20 73 75 62 70 72 6f 63 65 73 73 2e 0a  the subprocess..
a820: 0a 32 35 37 2e 20 34 2f 33 2f 39 34 20 41 64 64  .257. 4/3/94 Add
a830: 65 64 20 22 73 75 62 73 74 22 20 63 6f 6d 6d 61  ed "subst" comma
a840: 6e 64 2e 0a 0a 32 35 38 2e 20 35 2f 32 30 2f 39  nd...258. 5/20/9
a850: 34 20 54 68 65 20 74 63 6c 73 68 20 6d 61 69 6e  4 The tclsh main
a860: 20 70 72 6f 67 72 61 6d 20 69 73 20 6e 6f 77 20   program is now 
a870: 63 61 6c 6c 65 64 20 54 63 6c 5f 4d 61 69 6e 3b  called Tcl_Main;
a880: 20 20 74 63 6c 41 70 70 49 6e 69 74 2e 63 0a 68    tclAppInit.c.h
a890: 61 73 20 61 20 22 6d 61 69 6e 22 20 70 72 6f 63  as a "main" proc
a8a0: 65 64 75 72 65 20 74 68 61 74 20 63 61 6c 6c 73  edure that calls
a8b0: 20 54 63 6c 5f 4d 61 69 6e 2e 20 20 54 68 69 73   Tcl_Main.  This
a8c0: 20 6d 61 6b 65 73 20 69 74 20 65 61 73 69 65 72   makes it easier
a8d0: 20 74 6f 20 75 73 65 0a 54 63 6c 20 77 69 74 68   to use.Tcl with
a8e0: 20 43 2b 2b 20 70 72 6f 67 72 61 6d 73 2c 20 77   C++ programs, w
a8f0: 68 69 63 68 20 6e 65 65 64 20 74 68 65 69 72 20  hich need their 
a900: 6f 77 6e 20 6d 61 69 6e 20 70 72 6f 67 72 61 6d  own main program
a910: 73 2c 20 61 6e 64 20 69 74 20 61 6c 73 6f 0a 61  s, and it also.a
a920: 6c 6c 6f 77 73 20 61 6e 20 61 70 70 6c 69 63 61  llows an applica
a930: 74 69 6f 6e 20 74 6f 20 70 72 65 66 69 6c 74 65  tion to prefilte
a940: 72 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 6c  r the argument l
a950: 69 73 74 20 62 65 66 6f 72 65 20 63 61 6c 6c 69  ist before calli
a960: 6e 67 0a 54 63 6c 5f 4d 61 69 6e 2e 0a 2a 2a 2a  ng.Tcl_Main..***
a970: 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
a980: 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a  PATIBILITY ***..
a990: 32 35 39 2e 20 36 2f 36 2f 39 34 20 46 69 78 65  259. 6/6/94 Fixe
a9a0: 64 20 62 75 67 20 69 6e 20 70 72 6f 63 65 64 75  d bug in procedu
a9b0: 72 65 20 72 65 74 75 72 6e 73 20 77 68 65 72 65  re returns where
a9c0: 20 74 68 65 20 65 72 72 6f 72 49 6e 66 6f 20 76   the errorInfo v
a9d0: 61 72 69 61 62 6c 65 0a 63 6f 75 6c 64 20 67 65  ariable.could ge
a9e0: 74 20 74 72 75 6e 63 61 74 65 64 20 69 66 20 61  t truncated if a
a9f0: 6e 20 75 6e 73 65 74 20 74 72 61 63 65 20 77 61  n unset trace wa
aa00: 73 20 69 6e 76 6f 6b 65 64 20 61 73 20 70 61 72  s invoked as par
aa10: 74 20 6f 66 20 72 65 74 75 72 6e 69 6e 67 0a 66  t of returning.f
aa20: 72 6f 6d 20 74 68 65 20 70 72 6f 63 65 64 75 72  rom the procedur
aa30: 65 2e 0a 0a 32 36 30 2e 20 36 2f 31 33 2f 39 34  e...260. 6/13/94
aa40: 20 41 64 64 65 64 20 22 77 6f 72 64 73 74 61 72   Added "wordstar
aa50: 74 22 20 61 6e 64 20 22 77 6f 72 64 65 6e 64 22  t" and "wordend"
aa60: 20 6f 70 74 69 6f 6e 73 20 74 6f 20 22 73 74 72   options to "str
aa70: 69 6e 67 22 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 32  ing" command...2
aa80: 36 31 2e 20 36 2f 32 37 2f 39 34 20 46 69 78 65  61. 6/27/94 Fixe
aa90: 64 20 62 75 67 20 69 6e 20 65 78 70 72 65 73 73  d bug in express
aaa0: 69 6f 6e 73 20 77 68 65 72 65 20 74 68 65 79 20  ions where they 
aab0: 64 69 64 6e 27 74 20 70 72 6f 70 65 72 6c 79 20  didn't properly 
aac0: 63 61 6e 63 65 6c 0a 74 68 65 20 65 76 61 6c 75  cancel.the evalu
aad0: 61 74 69 6f 6e 20 6f 66 20 6d 61 74 68 20 66 75  ation of math fu
aae0: 6e 63 74 69 6f 6e 73 20 69 6e 20 26 26 2c 20 7c  nctions in &&, |
aaf0: 7c 2c 20 61 6e 64 20 3f 3a 2e 0a 0a 32 36 32 2e  |, and ?:...262.
ab00: 20 37 2f 31 31 2f 39 34 20 49 6e 63 6f 72 72 65   7/11/94 Incorre
ab10: 63 74 20 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65  ct boolean value
ab20: 73 2c 20 6c 69 6b 65 20 22 6f 67 6c 65 22 2c 20  s, like "ogle", 
ab30: 77 65 72 65 6e 27 74 20 62 65 69 6e 67 0a 68 61  weren't being.ha
ab40: 6e 64 6c 65 64 20 70 72 6f 70 65 72 6c 79 2e 0a  ndled properly..
ab50: 0a 32 36 33 2e 20 37 2f 31 35 2f 39 34 20 41 64  .263. 7/15/94 Ad
ab60: 64 65 64 20 54 63 6c 5f 52 65 67 45 78 70 43 6f  ded Tcl_RegExpCo
ab70: 6d 70 69 6c 65 2c 20 54 63 6c 5f 52 65 67 45 78  mpile, Tcl_RegEx
ab80: 70 45 78 65 63 2c 20 61 6e 64 20 54 63 6c 5f 52  pExec, and Tcl_R
ab90: 65 67 45 78 70 52 61 6e 67 65 2c 0a 77 68 69 63  egExpRange,.whic
aba0: 68 20 70 72 6f 76 69 64 65 20 6c 6f 77 65 72 2d  h provide lower-
abb0: 6c 65 76 65 6c 20 61 63 63 65 73 73 20 74 6f 20  level access to 
abc0: 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69  regular expressi
abd0: 6f 6e 20 70 61 74 74 65 72 6e 20 6d 61 74 63 68  on pattern match
abe0: 69 6e 67 2e 0a 0a 32 36 34 2e 20 37 2f 32 32 2f  ing...264. 7/22/
abf0: 39 34 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  94 Fixed bug in 
ac00: 22 67 6c 6f 62 22 20 63 6f 6d 6d 61 6e 64 20 77  "glob" command w
ac10: 68 65 72 65 20 22 67 6c 6f 62 20 2d 6e 6f 63 6f  here "glob -noco
ac20: 6d 70 6c 61 69 6e 20 7e 62 61 64 5f 75 73 65 72  mplain ~bad_user
ac30: 22 0a 77 6f 75 6c 64 20 63 6f 6d 70 6c 61 69 6e  ".would complain
ac40: 20 61 62 6f 75 74 20 61 20 6d 69 73 73 69 6e 67   about a missing
ac50: 20 75 73 65 72 2e 20 20 4e 6f 77 20 69 74 20 64   user.  Now it d
ac60: 6f 65 73 6e 27 74 20 63 6f 6d 70 6c 61 69 6e 20  oesn't complain 
ac70: 61 6e 79 6d 6f 72 65 2e 0a 0a 32 36 35 2e 20 38  anymore...265. 8
ac80: 2f 34 2f 39 34 20 46 69 78 65 64 20 62 75 67 20  /4/94 Fixed bug 
ac90: 77 69 74 68 20 6c 69 6e 6b 65 64 20 76 61 72 69  with linked vari
aca0: 61 62 6c 65 73 20 77 68 65 72 65 20 74 68 65 79  ables where they
acb0: 20 64 69 64 6e 27 74 20 62 65 68 61 76 65 0a 63   didn't behave.c
acc0: 6f 72 72 65 63 74 6c 79 20 77 68 65 6e 20 61 63  orrectly when ac
acd0: 63 65 73 73 65 64 20 76 69 61 20 75 70 76 61 72  cessed via upvar
ace0: 73 2e 0a 0a 32 36 36 2e 20 38 2f 31 37 2f 39 34  s...266. 8/17/94
acf0: 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 54 63   Fixed bug in Tc
ad00: 6c 5f 45 76 61 6c 46 69 6c 65 20 77 68 65 72 65  l_EvalFile where
ad10: 20 69 74 20 64 69 64 6e 27 74 20 63 6c 65 61 72   it didn't clear
ad20: 20 69 6e 74 65 72 70 2d 3e 72 65 73 75 6c 74 2e   interp->result.
ad30: 0a 0a 32 36 37 2e 20 38 2f 33 31 2f 39 34 20 4d  ..267. 8/31/94 M
ad40: 6f 64 69 66 69 65 64 20 22 6f 70 65 6e 22 20 63  odified "open" c
ad50: 6f 6d 6d 61 6e 64 20 73 6f 20 74 68 61 74 20 65  ommand so that e
ad60: 72 72 6f 72 73 20 69 6e 20 65 78 65 63 2d 69 6e  rrors in exec-in
ad70: 67 0a 73 75 62 70 72 6f 63 65 73 73 65 73 20 61  g.subprocesses a
ad80: 72 65 20 72 65 74 75 72 6e 65 64 20 62 79 20 74  re returned by t
ad90: 68 65 20 6f 70 65 6e 20 69 6d 6d 65 64 69 61 74  he open immediat
ada0: 65 6c 79 2c 20 72 61 74 68 65 72 20 74 68 61 6e  ely, rather than
adb0: 0a 62 65 69 6e 67 20 64 65 6c 61 79 65 64 20 75  .being delayed u
adc0: 6e 74 69 6c 20 74 68 65 20 22 63 6c 6f 73 65 22  ntil the "close"
add0: 20 69 73 20 65 78 65 63 75 74 65 64 2e 0a 0a 32   is executed...2
ade0: 36 38 2e 20 39 2f 39 2f 39 34 20 4d 6f 64 69 66  68. 9/9/94 Modif
adf0: 69 65 64 20 22 65 78 70 72 22 20 63 6f 6d 6d 61  ied "expr" comma
ae00: 6e 64 20 74 6f 20 67 65 6e 65 72 61 74 65 20 65  nd to generate e
ae10: 72 72 6f 72 73 20 66 6f 72 20 69 6e 74 65 67 65  rrors for intege
ae20: 72 0a 6f 76 65 72 66 6c 6f 77 20 28 69 6e 63 6c  r.overflow (incl
ae30: 75 64 65 73 20 61 64 64 69 74 69 6f 6e 2c 20 73  udes addition, s
ae40: 75 62 74 72 61 63 74 69 6f 6e 2c 20 6e 65 67 61  ubtraction, nega
ae50: 74 69 6f 6e 2c 20 6d 75 6c 74 69 70 6c 69 63 61  tion, multiplica
ae60: 74 69 6f 6e 2c 0a 64 69 76 69 73 69 6f 6e 29 2e  tion,.division).
ae70: 0a 0a 32 36 39 2e 20 39 2f 32 33 2f 39 34 20 4d  ..269. 9/23/94 M
ae80: 6f 64 69 66 69 65 64 20 22 72 65 67 73 75 62 22  odified "regsub"
ae90: 20 74 6f 20 72 65 74 75 72 6e 20 61 20 63 6f 75   to return a cou
aea0: 6e 74 20 6f 66 20 74 68 65 20 6e 75 6d 62 65 72  nt of the number
aeb0: 20 6f 66 0a 6d 61 74 63 68 65 73 20 61 6e 64 20   of.matches and 
aec0: 72 65 70 6c 61 63 65 6d 65 6e 74 73 2c 20 72 61  replacements, ra
aed0: 74 68 65 72 20 74 68 61 6e 20 30 2f 31 2e 0a 0a  ther than 0/1...
aee0: 32 37 39 2e 20 31 30 2f 34 2f 39 34 20 41 64 64  279. 10/4/94 Add
aef0: 65 64 20 6e 65 77 20 66 65 61 74 75 72 65 73 20  ed new features 
af00: 74 6f 20 22 61 72 72 61 79 22 20 63 6f 6d 6d 61  to "array" comma
af10: 6e 64 3a 0a 20 20 20 20 2d 20 61 64 64 65 64 20  nd:.    - added 
af20: 22 67 65 74 22 20 61 6e 64 20 22 73 65 74 22 20  "get" and "set" 
af30: 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 65 61 73  commands for eas
af40: 79 20 63 6f 6e 76 65 72 73 69 6f 6e 20 62 65 74  y conversion bet
af50: 77 65 65 6e 20 61 72 72 61 79 73 0a 20 20 20 20  ween arrays.    
af60: 20 20 61 6e 64 20 6c 69 73 74 73 2e 0a 20 20 20    and lists..   
af70: 20 2d 20 61 64 64 65 64 20 22 65 78 69 73 74 73   - added "exists
af80: 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 73 65 65  " command to see
af90: 20 69 66 20 61 20 76 61 72 69 61 62 6c 65 20 69   if a variable i
afa0: 73 20 61 6e 20 61 72 72 61 79 2c 20 63 68 61 6e  s an array, chan
afb0: 67 65 64 0a 20 20 20 20 20 20 22 6e 61 6d 65 73  ged.      "names
afc0: 22 20 61 6e 64 20 22 73 69 7a 65 22 20 63 6f 6d  " and "size" com
afd0: 6d 61 6e 64 73 20 74 6f 20 74 72 65 61 74 20 61  mands to treat a
afe0: 20 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 20 61 72   non-existent ar
aff0: 72 61 79 20 28 6f 72 20 73 63 61 6c 61 72 0a 20  ray (or scalar. 
b000: 20 20 20 20 20 76 61 72 69 61 62 6c 65 29 20 6a       variable) j
b010: 75 73 74 20 6c 69 6b 65 20 61 6e 20 65 6d 70 74  ust like an empt
b020: 79 20 6f 6e 65 2e 0a 20 20 20 20 2d 20 61 64 64  y one..    - add
b030: 65 64 20 70 61 74 74 65 72 6e 20 6f 70 74 69 6f  ed pattern optio
b040: 6e 20 74 6f 20 22 6e 61 6d 65 73 22 20 63 6f 6d  n to "names" com
b050: 6d 61 6e 64 2e 0a 0a 32 38 30 2e 20 31 30 2f 36  mand...280. 10/6
b060: 2f 39 34 20 4d 6f 64 69 66 69 65 64 20 54 63 6c  /94 Modified Tcl
b070: 5f 53 65 74 56 61 72 32 20 73 6f 20 74 68 61 74  _SetVar2 so that
b080: 20 72 65 61 64 20 74 72 61 63 65 73 20 6f 6e 20   read traces on 
b090: 76 61 72 69 61 62 6c 65 73 20 67 65 74 0a 63 61  variables get.ca
b0a0: 6c 6c 65 64 20 64 75 72 69 6e 67 20 61 70 70 65  lled during appe
b0b0: 6e 64 20 6f 70 65 72 61 74 69 6f 6e 73 2e 0a 0a  nd operations...
b0c0: 32 38 31 2e 20 31 30 2f 32 30 2f 39 34 20 46 69  281. 10/20/94 Fi
b0d0: 78 65 64 20 62 75 67 20 69 6e 20 22 72 65 61 64  xed bug in "read
b0e0: 22 20 63 6f 6d 6d 61 6e 64 20 77 68 65 72 65 20  " command where 
b0f0: 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 73 74 64  reading from std
b100: 69 6e 0a 72 65 71 75 69 72 65 64 20 74 77 6f 20  in.required two 
b110: 63 6f 6e 74 72 6f 6c 2d 44 27 73 20 74 6f 20 73  control-D's to s
b120: 74 6f 70 20 74 68 65 20 72 65 61 64 69 6e 67 2e  top the reading.
b130: 0a 0a 32 38 32 2e 20 31 31 2f 33 2f 39 34 20 43  ..282. 11/3/94 C
b140: 68 61 6e 67 65 64 20 22 65 78 70 72 22 20 63 6f  hanged "expr" co
b150: 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 6c 6f 6e  mmand to use lon
b160: 67 73 20 66 6f 72 20 64 69 76 69 73 69 6f 6e 20  gs for division 
b170: 6a 75 73 74 20 6c 69 6b 65 0a 61 6c 6c 20 6f 74  just like.all ot
b180: 68 65 72 20 65 78 70 72 20 6f 70 65 72 61 74 6f  her expr operato
b190: 72 73 3b 20 20 69 74 20 70 72 65 76 69 6f 75 73  rs;  it previous
b1a0: 6c 79 20 75 73 65 64 20 69 6e 74 73 20 66 6f 72  ly used ints for
b1b0: 20 64 69 76 69 73 69 6f 6e 2e 0a 0a 32 38 33 2e   division...283.
b1c0: 20 31 31 2f 34 2f 39 34 20 46 69 78 65 64 20 62   11/4/94 Fixed b
b1d0: 75 67 73 20 69 6e 20 22 75 6e 6b 6e 6f 77 6e 22  ugs in "unknown"
b1e0: 20 70 72 6f 63 65 64 75 72 65 3a 20 20 69 74 20   procedure:  it 
b1f0: 77 61 73 6e 27 74 20 70 72 6f 70 65 72 6c 79 0a  wasn't properly.
b200: 68 61 6e 64 6c 69 6e 67 20 65 78 63 65 70 74 69  handling excepti
b210: 6f 6e 20 72 65 74 75 72 6e 73 20 66 72 6f 6d 20  on returns from 
b220: 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 77 65  commands that we
b230: 72 65 20 65 78 65 63 75 74 65 64 20 61 66 74 65  re executed afte
b240: 72 0a 62 65 69 6e 67 20 61 75 74 6f 2d 6c 6f 61  r.being auto-loa
b250: 64 65 64 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ded...----------
b260: 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
b270: 20 76 65 72 73 69 6f 6e 20 37 2e 34 62 31 2c 20   version 7.4b1, 
b280: 31 32 2f 32 33 2f 39 34 20 2d 2d 2d 2d 2d 2d 2d  12/23/94 -------
b290: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 38 34  -----------..284
b2a0: 2e 20 31 32 2f 32 36 2f 39 34 20 46 69 78 65 64  . 12/26/94 Fixed
b2b0: 20 22 69 6e 73 74 61 6c 6c 22 20 74 61 72 67 65   "install" targe
b2c0: 74 20 69 6e 20 4d 61 6b 65 66 69 6c 65 20 28 63  t in Makefile (c
b2d0: 6f 75 6c 64 6e 27 74 20 61 6c 77 61 79 73 0a 66  ouldn't always.f
b2e0: 69 6e 64 20 69 6e 73 74 61 6c 6c 20 70 72 6f 67  ind install prog
b2f0: 72 61 6d 29 2e 0a 0a 32 38 35 2e 20 31 32 2f 32  ram)...285. 12/2
b300: 36 2f 39 34 20 41 64 64 65 64 20 73 74 72 63 6e  6/94 Added strcn
b310: 63 61 73 65 63 6d 70 20 70 72 6f 63 65 64 75 72  casecmp procedur
b320: 65 20 74 6f 20 63 6f 6d 70 61 74 20 64 69 72 65  e to compat dire
b330: 63 74 6f 72 79 2e 0a 0a 32 38 36 2e 20 31 2f 33  ctory...286. 1/3
b340: 2f 39 35 20 46 69 78 65 64 20 61 6c 6c 20 70 72  /95 Fixed all pr
b350: 6f 63 65 64 75 72 65 20 63 61 6c 6c 73 20 74 6f  ocedure calls to
b360: 20 65 78 70 6c 69 63 69 74 6c 79 20 63 61 73 74   explicitly cast
b370: 20 61 72 67 75 6d 65 6e 74 73 3a 0a 69 6d 70 6c   arguments:.impl
b380: 69 63 69 74 20 63 6f 6e 76 65 72 73 69 6f 6e 73  icit conversions
b390: 20 66 72 6f 6d 20 70 72 6f 74 6f 74 79 70 65 73   from prototypes
b3a0: 20 28 65 73 70 65 63 69 61 6c 6c 79 20 69 6e 74   (especially int
b3b0: 65 67 65 72 2d 3e 64 6f 75 62 6c 65 29 0a 64 6f  eger->double).do
b3c0: 6e 27 74 20 77 6f 72 6b 20 77 68 65 6e 20 63 6f  n't work when co
b3d0: 6d 70 69 6c 69 6e 67 20 75 6e 64 65 72 20 6e 6f  mpiling under no
b3e0: 6e 2d 41 4e 53 49 20 63 6f 6d 70 69 6c 65 72 73  n-ANSI compilers
b3f0: 2e 20 20 54 63 6c 20 69 73 20 6e 6f 77 20 63 6c  .  Tcl is now cl
b400: 65 61 6e 0a 75 6e 64 65 72 20 67 63 63 20 2d 57  ean.under gcc -W
b410: 63 6f 6e 76 65 72 73 69 6f 6e 2e 0a 0a 32 38 37  conversion...287
b420: 2e 20 31 2f 34 2f 39 35 20 46 69 78 65 64 20 70  . 1/4/95 Fixed p
b430: 72 6f 62 6c 65 6d 20 69 6e 20 54 63 6c 5f 41 72  roblem in Tcl_Ar
b440: 72 61 79 43 6d 64 20 77 68 65 72 65 20 73 61 6d  rayCmd where sam
b450: 65 20 6e 61 6d 65 20 77 61 73 20 75 73 65 64 20  e name was used 
b460: 66 6f 72 0a 62 6f 74 68 20 61 20 6c 61 62 65 6c  for.both a label
b470: 20 61 6e 64 20 61 20 76 61 72 69 61 62 6c 65 3b   and a variable;
b480: 20 20 63 61 75 73 65 64 20 70 72 6f 62 6c 65 6d    caused problem
b490: 73 20 6f 6e 20 73 65 76 65 72 61 6c 20 6f 6c 64  s on several old
b4a0: 65 72 20 63 6f 6d 70 69 6c 65 72 73 2c 0a 6d 61  er compilers,.ma
b4b0: 6b 69 6e 67 20 61 72 72 61 79 20 63 6f 6d 6d 61  king array comma
b4c0: 6e 64 20 6d 69 73 62 65 68 61 76 65 20 61 6e 64  nd misbehave and
b4d0: 20 63 61 75 73 69 6e 67 20 6d 61 6e 79 20 65 72   causing many er
b4e0: 72 6f 72 73 20 69 6e 20 54 63 6c 20 74 65 73 74  rors in Tcl test
b4f0: 20 73 75 69 74 65 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d   suite...-------
b500: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
b510: 73 65 64 20 76 65 72 73 69 6f 6e 20 37 2e 34 62  sed version 7.4b
b520: 32 2c 20 31 2f 31 32 2f 39 35 20 2d 2d 2d 2d 2d  2, 1/12/95 -----
b530: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32  -------------..2
b540: 38 38 2e 20 32 2f 39 2f 39 35 20 4d 6f 64 69 66  88. 2/9/95 Modif
b550: 69 65 64 20 54 63 6c 5f 43 72 65 61 74 65 43 6f  ied Tcl_CreateCo
b560: 6d 6d 61 6e 64 20 74 6f 20 72 65 74 75 72 6e 20  mmand to return 
b570: 61 20 74 6f 6b 65 6e 2c 20 61 6e 64 20 61 64 64  a token, and add
b580: 65 64 0a 54 63 6c 5f 47 65 74 43 6f 6d 6d 61 6e  ed.Tcl_GetComman
b590: 64 4e 61 6d 65 20 70 72 6f 63 65 64 75 72 65 2e  dName procedure.
b5a0: 20 20 54 6f 67 65 74 68 65 72 2c 20 74 68 65 73    Together, thes
b5b0: 65 20 70 72 6f 63 65 64 75 72 65 73 20 6d 61 6b  e procedures mak
b5c0: 65 20 69 74 20 70 6f 73 73 69 62 6c 65 0a 74 6f  e it possible.to
b5d0: 20 74 72 61 63 6b 20 72 65 6e 61 6d 65 73 20 6f   track renames o
b5e0: 66 20 61 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 32 38  f a command...28
b5f0: 39 2e 20 32 2f 31 33 2f 39 35 20 46 69 78 65 64  9. 2/13/95 Fixed
b600: 20 62 75 67 20 69 6e 20 65 78 70 72 20 77 68 65   bug in expr whe
b610: 72 65 20 22 30 38 39 22 20 77 61 73 20 69 6e 74  re "089" was int
b620: 65 72 70 72 65 74 65 64 20 61 73 20 61 0a 66 6c  erpreted as a.fl
b630: 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d  oating-point num
b640: 62 65 72 20 72 61 74 68 65 72 20 74 68 61 6e 20  ber rather than 
b650: 61 20 62 6f 67 75 73 20 6f 63 74 61 6c 20 6e 75  a bogus octal nu
b660: 6d 62 65 72 2e 0a 2a 2a 2a 20 50 4f 54 45 4e 54  mber..*** POTENT
b670: 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
b680: 49 54 59 20 2a 2a 2a 0a 0a 32 39 30 2e 20 32 2f  ITY ***..290. 2/
b690: 31 34 2f 39 35 20 41 64 64 65 64 20 63 6f 64 65  14/95 Added code
b6a0: 20 74 6f 20 54 63 6c 5f 47 65 74 49 6e 74 20 61   to Tcl_GetInt a
b6b0: 6e 64 20 54 63 6c 5f 47 65 74 44 6f 75 62 6c 65  nd Tcl_GetDouble
b6c0: 20 74 6f 20 63 68 65 63 6b 20 66 6f 72 0a 6f 76   to check for.ov
b6d0: 65 72 66 6c 6f 77 73 20 77 68 65 6e 20 72 65 61  erflows when rea
b6e0: 64 69 6e 67 20 69 6e 20 6e 75 6d 62 65 72 73 2e  ding in numbers.
b6f0: 0a 0a 32 39 31 2e 20 32 2f 31 38 2f 39 35 20 43  ..291. 2/18/95 C
b700: 68 61 6e 67 65 64 20 22 61 72 72 61 79 20 73 65  hanged "array se
b710: 74 22 20 74 6f 20 73 74 6f 70 20 61 66 74 65 72  t" to stop after
b720: 20 66 69 72 73 74 20 65 72 72 6f 72 2c 20 72 61   first error, ra
b730: 74 68 65 72 20 74 68 61 6e 0a 63 6f 6e 74 69 6e  ther than.contin
b740: 75 69 6e 67 20 61 66 74 65 72 20 65 72 72 6f 72  uing after error
b750: 2e 0a 0a 32 39 32 2e 20 32 2f 32 30 2f 39 35 20  ...292. 2/20/95 
b760: 55 70 67 72 61 64 65 64 20 74 6f 20 75 73 65 20  Upgraded to use 
b770: 61 75 74 6f 63 6f 6e 66 20 76 65 72 73 69 6f 6e  autoconf version
b780: 20 32 2e 32 2e 0a 0a 32 39 33 2e 20 32 2f 32 30   2.2...293. 2/20
b790: 2f 39 35 20 46 69 78 65 64 20 63 6f 72 65 20 64  /95 Fixed core d
b7a0: 75 6d 70 20 74 68 61 74 20 63 6f 75 6c 64 20 6f  ump that could o
b7b0: 63 63 75 72 20 69 6e 20 22 73 63 61 6e 22 20 63  ccur in "scan" c
b7c0: 6f 6d 6d 61 6e 64 20 69 66 20 61 0a 63 6c 6f 73  ommand if a.clos
b7d0: 65 20 62 72 61 63 6b 65 74 20 77 61 73 20 6f 6d  e bracket was om
b7e0: 69 74 74 65 64 2e 0a 0a 32 39 34 2e 20 32 2f 32  itted...294. 2/2
b7f0: 37 2f 39 35 20 43 68 61 6e 67 65 64 20 4d 61 6b  7/95 Changed Mak
b800: 65 66 69 6c 65 20 74 6f 20 61 6c 77 61 79 73 20  efile to always 
b810: 75 73 65 20 69 6e 73 74 61 6c 6c 2d 73 68 20 66  use install-sh f
b820: 6f 72 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 73  or installations
b830: 3a 0a 74 68 65 72 65 27 73 20 6a 75 73 74 20 74  :.there's just t
b840: 6f 6f 20 6d 75 63 68 20 76 61 72 69 61 74 69 6f  oo much variatio
b850: 6e 20 61 6d 6f 6e 67 20 22 69 6e 73 74 61 6c 6c  n among "install
b860: 22 20 73 79 73 74 65 6d 20 70 72 6f 67 72 61 6d  " system program
b870: 73 2c 20 77 68 69 63 68 0a 6d 61 6b 65 73 20 69  s, which.makes i
b880: 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 66 6c 61 6b  nstallation flak
b890: 65 79 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ey...-----------
b8a0: 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
b8b0: 76 65 72 73 69 6f 6e 20 37 2e 34 62 33 2c 20 33  version 7.4b3, 3
b8c0: 2f 32 34 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d 2d  /24/95 ---------
b8d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 33 2f 32 35 2f  ---------..3/25/
b8e0: 39 35 20 28 62 75 67 20 66 69 78 29 20 43 68 61  95 (bug fix) Cha
b8f0: 6e 67 65 64 20 22 69 6e 73 74 61 6c 6c 22 20 74  nged "install" t
b900: 6f 20 22 2e 2f 69 6e 73 74 61 6c 6c 22 20 69 6e  o "./install" in
b910: 20 4d 61 6b 65 66 69 6c 65 20 73 6f 20 74 68 61   Makefile so tha
b920: 74 0a 22 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 22  t."make install"
b930: 20 77 69 6c 6c 20 77 6f 72 6b 20 65 76 65 6e 20   will work even 
b940: 77 68 65 6e 20 22 2e 22 20 69 73 6e 27 74 20 69  when "." isn't i
b950: 6e 20 74 68 65 20 73 65 61 72 63 68 20 70 61 74  n the search pat
b960: 68 2e 0a 0a 33 2f 32 39 2f 39 35 20 28 62 75 67  h...3/29/95 (bug
b970: 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20   fix) Fixed bug 
b980: 77 68 65 72 65 20 74 68 65 20 61 75 74 6f 2d 6c  where the auto-l
b990: 6f 61 64 69 6e 67 20 6d 65 63 68 61 6e 69 73 6d  oading mechanism
b9a0: 20 77 61 73 6e 27 74 0a 70 72 6f 74 65 63 74 69   wasn't.protecti
b9b0: 6e 67 20 74 68 65 20 76 61 6c 75 65 73 20 6f 66  ng the values of
b9c0: 20 74 68 65 20 65 72 72 6f 72 43 6f 64 65 20 61   the errorCode a
b9d0: 6e 64 20 65 72 72 6f 72 49 6e 66 6f 20 76 61 72  nd errorInfo var
b9e0: 69 61 62 6c 65 73 2e 0a 0a 33 2f 32 39 2f 39 35  iables...3/29/95
b9f0: 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41   (new feature) A
ba00: 64 64 65 64 20 6f 70 74 69 6f 6e 61 6c 20 70 61  dded optional pa
ba10: 74 74 65 72 6e 20 61 72 67 75 6d 65 6e 74 20 74  ttern argument t
ba20: 6f 20 22 70 61 72 72 61 79 22 20 70 72 6f 63 65  o "parray" proce
ba30: 64 75 72 65 2e 0a 0a 33 2f 32 39 2f 39 35 20 28  dure...3/29/95 (
ba40: 62 75 67 20 66 69 78 29 20 4d 61 64 65 20 74 68  bug fix) Made th
ba50: 65 20 66 75 6c 6c 20 66 75 6e 63 74 69 6f 6e 61  e full functiona
ba60: 6c 69 74 79 20 6f 66 0a 20 20 20 20 22 72 65 74  lity of.    "ret
ba70: 75 72 6e 20 2d 63 6f 64 65 20 2e 2e 2e 20 2d 65  urn -code ... -e
ba80: 72 72 6f 72 63 6f 64 65 20 2e 2e 2e 22 0a 77 6f  rrorcode ...".wo
ba90: 72 6b 20 6e 6f 74 20 6a 75 73 74 20 69 6e 73 69  rk not just insi
baa0: 64 65 20 70 72 6f 63 65 64 75 72 65 73 2c 20 62  de procedures, b
bab0: 75 74 20 61 6c 73 6f 20 69 6e 20 73 6f 75 72 63  ut also in sourc
bac0: 65 64 20 66 69 6c 65 73 20 61 6e 64 20 61 74 0a  ed files and at.
bad0: 74 6f 70 20 6c 65 76 65 6c 2e 0a 0a 34 2f 36 2f  top level...4/6/
bae0: 39 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  95 (new feature)
baf0: 20 41 64 64 65 64 20 22 70 61 74 74 65 72 6e 22   Added "pattern"
bb00: 20 6f 70 74 69 6f 6e 20 74 6f 20 22 61 72 72 61   option to "arra
bb10: 79 20 6e 61 6d 65 73 22 20 63 6f 6d 6d 61 6e 64  y names" command
bb20: 2e 0a 0a 34 2f 31 38 2f 39 35 20 28 62 75 67 20  ...4/18/95 (bug 
bb30: 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20 69  fix) Fixed bug i
bb40: 6e 20 70 61 72 73 65 72 20 77 68 65 72 65 20 69  n parser where i
bb50: 74 20 64 69 64 6e 27 74 20 61 6c 6c 6f 77 20 62  t didn't allow b
bb60: 61 63 6b 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65  ackslash-newline
bb70: 0a 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74  .immediately aft
bb80: 65 72 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 69  er an argument i
bb90: 6e 20 62 72 61 63 65 73 20 6f 72 20 71 75 6f 74  n braces or quot
bba0: 65 73 2e 0a 0a 34 2f 31 39 2f 39 35 20 28 6e 65  es...4/19/95 (ne
bbb0: 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
bbc0: 20 74 63 6c 5f 6c 69 62 72 61 72 79 20 76 61 72   tcl_library var
bbd0: 69 61 62 6c 65 2c 20 77 68 69 63 68 20 61 70 70  iable, which app
bbe0: 6c 69 63 61 74 69 6f 6e 20 63 61 6e 0a 73 65 74  lication can.set
bbf0: 20 74 6f 20 6f 76 65 72 72 69 64 65 20 64 65 66   to override def
bc00: 61 75 6c 74 20 6c 69 62 72 61 72 79 20 64 69 72  ault library dir
bc10: 65 63 74 6f 72 79 2e 0a 0a 34 2f 33 30 2f 39 35  ectory...4/30/95
bc20: 20 28 62 75 67 20 66 69 78 29 20 44 75 72 69 6e   (bug fix) Durin
bc30: 67 20 74 72 61 63 65 20 63 61 6c 6c 62 61 63 6b  g trace callback
bc40: 73 20 66 6f 72 20 61 72 72 61 79 20 65 6c 65 6d  s for array elem
bc50: 65 6e 74 73 2c 20 74 68 65 20 76 61 72 69 61 62  ents, the variab
bc60: 6c 65 0a 6e 61 6d 65 20 75 73 65 64 20 69 6e 20  le.name used in 
bc70: 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 72 65 66  the original ref
bc80: 65 72 65 6e 63 65 20 77 6f 75 6c 64 20 62 65 20  erence would be 
bc90: 74 65 6d 70 6f 72 61 72 69 6c 79 20 6d 6f 64 69  temporarily modi
bca0: 66 69 65 64 20 74 6f 0a 73 65 70 61 72 61 74 65  fied to.separate
bcb0: 20 74 68 65 20 61 72 72 61 79 20 6e 61 6d 65 20   the array name 
bcc0: 61 6e 64 20 65 6c 65 6d 65 6e 74 20 6e 61 6d 65  and element name
bcd0: 3b 20 20 69 66 20 74 68 65 20 74 72 61 63 65 20  ;  if the trace 
bce0: 63 61 6c 6c 62 61 63 6b 20 75 73 65 64 0a 74 68  callback used.th
bcf0: 65 20 73 61 6d 65 20 6e 61 6d 65 20 73 74 72 69  e same name stri
bd00: 6e 67 2c 20 69 74 20 77 6f 75 6c 64 20 67 65 74  ng, it would get
bd10: 20 74 68 65 20 77 72 6f 6e 67 20 6e 61 6d 65 20   the wrong name 
bd20: 28 74 68 65 20 61 72 72 61 79 20 6e 61 6d 65 20  (the array name 
bd30: 77 69 74 68 6f 75 74 0a 65 6c 65 6d 65 6e 74 29  without.element)
bd40: 2e 20 20 46 69 78 65 64 20 74 6f 20 72 65 73 74  .  Fixed to rest
bd50: 6f 72 65 20 74 68 65 20 76 61 72 69 61 62 6c 65  ore the variable
bd60: 20 6e 61 6d 65 20 62 65 66 6f 72 65 20 6d 61 6b   name before mak
bd70: 69 6e 67 20 74 72 61 63 65 0a 63 61 6c 6c 62 61  ing trace.callba
bd80: 63 6b 73 2e 0a 0a 34 2f 33 30 2f 39 35 20 28 6e  cks...4/30/95 (n
bd90: 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65  ew feature) Adde
bda0: 64 20 2d 6e 6f 62 61 63 6b 73 6c 61 73 68 65 73  d -nobackslashes
bdb0: 2c 20 2d 6e 6f 63 6f 6d 6d 61 6e 64 73 2c 20 61  , -nocommands, a
bdc0: 6e 64 20 2d 6e 6f 76 61 72 69 61 62 6c 65 73 0a  nd -novariables.
bdd0: 73 77 69 74 63 68 65 73 20 74 6f 20 22 73 75 62  switches to "sub
bde0: 73 74 22 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 35 2f  st" command...5/
bdf0: 34 2f 39 35 20 28 6e 65 77 20 66 65 61 74 75 72  4/95 (new featur
be00: 65 29 20 41 64 64 65 64 20 54 43 4c 5f 45 56 41  e) Added TCL_EVA
be10: 4c 5f 47 4c 4f 42 41 4c 20 66 6c 61 67 20 74 6f  L_GLOBAL flag to
be20: 20 54 63 6c 5f 52 65 63 6f 72 64 41 6e 64 45 76   Tcl_RecordAndEv
be30: 61 6c 2e 0a 0a 35 2f 35 2f 39 35 20 28 62 75 67  al...5/5/95 (bug
be40: 20 66 69 78 29 20 20 46 6f 72 6d 61 74 20 63 6f   fix)  Format co
be50: 6d 6d 61 6e 64 20 77 6f 75 6c 64 20 6f 76 65 72  mmand would over
be60: 72 75 6e 20 6d 65 6d 6f 72 79 20 77 68 65 6e 20  run memory when 
be70: 70 72 69 6e 74 69 6e 67 0a 69 6e 74 65 67 65 72  printing.integer
be80: 73 20 77 69 74 68 20 76 65 72 79 20 6c 61 72 67  s with very larg
be90: 65 20 70 72 65 63 69 73 69 6f 6e 2c 20 61 73 20  e precision, as 
bea0: 69 6e 20 22 66 6f 72 6d 61 74 20 25 2e 31 30 30  in "format %.100
beb0: 30 64 20 30 22 2e 0a 0a 35 2f 35 2f 39 35 20 28  0d 0"...5/5/95 (
bec0: 70 6f 72 74 61 62 69 6c 69 74 79 20 69 6d 70 72  portability impr
bed0: 6f 76 65 6d 65 6e 74 29 20 43 68 61 6e 67 65 64  ovement) Changed
bee0: 20 74 6f 20 75 73 65 20 42 53 44 67 65 74 74 69   to use BSDgetti
bef0: 6d 65 6f 66 64 61 79 20 6f 6e 0a 49 52 49 58 20  meofday on.IRIX 
bf00: 6d 61 63 68 69 6e 65 73 2c 20 74 6f 20 61 76 6f  machines, to avo
bf10: 69 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 70  id compilation p
bf20: 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 74 68 65  roblems with the
bf30: 20 67 65 74 74 69 6d 65 6f 66 64 61 79 0a 64 65   gettimeofday.de
bf40: 63 6c 61 72 61 74 69 6f 6e 2e 0a 0a 35 2f 36 2f  claration...5/6/
bf50: 39 35 20 28 62 75 67 20 66 69 78 29 20 43 68 61  95 (bug fix) Cha
bf60: 6e 67 65 64 20 6d 61 6e 75 61 6c 20 65 6e 74 72  nged manual entr
bf70: 69 65 73 20 74 6f 20 75 73 65 20 74 68 65 20 73  ies to use the s
bf80: 74 61 6e 64 61 72 64 20 2e 54 48 0a 6d 61 63 72  tandard .TH.macr
bf90: 6f 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 63  o instead of a c
bfa0: 75 73 74 6f 6d 20 2e 48 53 20 6d 61 63 72 6f 3b  ustom .HS macro;
bfb0: 20 20 74 68 65 20 2e 48 53 20 6d 61 63 72 6f 20    the .HS macro 
bfc0: 63 6f 6e 66 75 73 65 73 20 69 6e 64 65 78 0a 67  confuses index.g
bfd0: 65 6e 65 72 61 74 6f 72 73 20 6c 69 6b 65 20 6d  enerators like m
bfe0: 61 6b 65 77 68 61 74 69 73 2e 0a 0a 35 2f 39 2f  akewhatis...5/9/
bff0: 39 35 20 28 62 75 67 20 66 69 78 29 20 4d 6f 64  95 (bug fix) Mod
c000: 69 66 69 65 64 20 63 6f 6e 66 69 67 75 72 65 20  ified configure 
c010: 73 63 72 69 70 74 20 74 6f 20 63 68 65 63 6b 20  script to check 
c020: 66 6f 72 20 53 6f 6c 61 72 69 73 20 62 75 67 0a  for Solaris bug.
c030: 74 68 61 74 20 6d 61 6b 65 73 20 76 66 6f 72 6b  that makes vfork
c040: 20 75 6e 72 65 6c 69 61 62 6c 65 20 28 63 6f 72   unreliable (cor
c050: 65 20 64 75 6d 70 73 20 72 65 73 75 6c 74 20 69  e dumps result i
c060: 66 20 76 66 6f 72 6b 65 64 20 63 68 69 6c 64 0a  f vforked child.
c070: 63 68 61 6e 67 65 73 20 61 20 73 69 67 6e 61 6c  changes a signal
c080: 20 68 61 6e 64 6c 65 72 29 3b 20 20 77 69 6c 6c   handler);  will
c090: 20 75 73 65 20 66 6f 72 6b 20 69 6e 73 74 65 61   use fork instea
c0a0: 64 20 6f 66 20 76 66 6f 72 6b 20 69 66 20 74 68  d of vfork if th
c0b0: 65 0a 62 75 67 20 69 73 20 70 72 65 73 65 6e 74  e.bug is present
c0c0: 2e 0a 0a 36 2f 35 2f 39 35 20 28 62 75 67 20 66  ...6/5/95 (bug f
c0d0: 69 78 29 20 4d 6f 64 69 66 69 65 64 20 22 6c 73  ix) Modified "ls
c0e0: 6f 72 74 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20  ort" command to 
c0f0: 64 69 73 61 6c 6c 6f 77 20 72 65 63 75 72 73 69  disallow recursi
c100: 76 65 20 63 61 6c 6c 73 0a 74 6f 20 6c 73 6f 72  ve calls.to lsor
c110: 74 20 66 72 6f 6d 20 61 20 63 6f 6d 70 61 72 69  t from a compari
c120: 73 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54  son function.  T
c130: 68 69 73 20 69 73 20 6e 65 65 64 65 64 20 62 65  his is needed be
c140: 63 61 75 73 65 20 71 73 6f 72 74 0a 69 73 20 6e  cause qsort.is n
c150: 6f 74 20 72 65 65 6e 74 72 61 6e 74 2e 0a 0a 36  ot reentrant...6
c160: 2f 35 2f 39 35 20 28 62 75 67 20 66 69 78 29 20  /5/95 (bug fix) 
c170: 55 6e 64 69 64 20 63 68 61 6e 67 65 20 32 34 33  Undid change 243
c180: 20 61 62 6f 76 65 3a 20 20 63 68 61 6e 67 65 64   above:  changed
c190: 20 54 43 4c 5f 56 4f 4c 41 54 49 4c 45 20 61 6e   TCL_VOLATILE an
c1a0: 64 0a 54 43 4c 5f 44 59 4e 41 4d 49 43 20 62 61  d.TCL_DYNAMIC ba
c1b0: 63 6b 20 74 6f 20 69 6e 74 65 67 65 72 20 63 6f  ck to integer co
c1c0: 6e 73 74 61 6e 74 73 20 72 61 74 68 65 72 20 74  nstants rather t
c1d0: 68 61 6e 20 70 72 6f 63 65 64 75 72 65 20 61 64  han procedure ad
c1e0: 64 72 65 73 73 65 73 2e 0a 54 68 69 73 20 77 61  dresses..This wa
c1f0: 73 20 6e 65 65 64 65 64 20 62 65 63 61 75 73 65  s needed because
c200: 20 70 72 6f 63 65 64 75 72 65 20 61 64 64 72 65   procedure addre
c210: 73 73 65 73 20 63 61 6e 20 68 61 76 65 20 6d 75  sses can have mu
c220: 6c 74 69 70 6c 65 20 76 61 6c 75 65 73 0a 75 6e  ltiple values.un
c230: 64 65 72 20 73 6f 6d 65 20 64 79 6e 61 6d 69 63  der some dynamic
c240: 20 6c 6f 61 64 69 6e 67 20 73 79 73 74 65 6d 73   loading systems
c250: 20 28 65 2e 67 2e 20 53 75 6e 4f 53 20 34 2e 31   (e.g. SunOS 4.1
c260: 20 61 6e 64 20 57 69 6e 64 6f 77 73 29 2e 0a 0a   and Windows)...
c270: 36 2f 38 2f 39 35 20 28 66 65 61 74 75 72 65 20  6/8/95 (feature 
c280: 63 68 61 6e 67 65 29 20 4d 6f 64 69 66 69 65 64  change) Modified
c290: 20 69 6e 74 65 72 66 61 63 65 20 74 6f 20 54 63   interface to Tc
c2a0: 6c 5f 4d 61 69 6e 20 74 6f 20 70 61 73 73 20 69  l_Main to pass i
c2b0: 6e 20 74 68 65 0a 61 64 64 72 65 73 73 20 6f 66  n the.address of
c2c0: 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e   the application
c2d0: 2d 73 70 65 63 69 66 69 63 20 69 6e 69 74 69 61  -specific initia
c2e0: 6c 69 7a 61 74 69 6f 6e 20 70 72 6f 63 65 64 75  lization procedu
c2f0: 72 65 2e 0a 54 63 6c 5f 41 70 70 49 6e 69 74 20  re..Tcl_AppInit 
c300: 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 68 61 72  is no longer har
c310: 64 77 69 72 65 64 20 69 6e 74 6f 20 54 63 6c 5f  dwired into Tcl_
c320: 4d 61 69 6e 2e 20 20 54 68 69 73 20 69 73 20 6e  Main.  This is n
c330: 65 65 64 65 64 0a 69 6e 20 6f 72 64 65 72 20 74  eeded.in order t
c340: 6f 20 6d 61 6b 65 20 54 63 6c 20 61 20 73 68 61  o make Tcl a sha
c350: 72 65 64 20 6c 69 62 72 61 72 79 2e 20 0a 0a 36  red library. ..6
c360: 2f 38 2f 39 35 20 28 66 65 61 74 75 72 65 20 63  /8/95 (feature c
c370: 68 61 6e 67 65 29 20 4d 6f 64 69 66 69 65 64 20  hange) Modified 
c380: 4d 61 6b 65 66 69 6c 65 20 73 6f 20 74 68 61 74  Makefile so that
c390: 20 74 68 65 20 69 6e 73 74 61 6c 6c 65 64 20 76   the installed v
c3a0: 65 72 73 69 6f 6e 73 0a 6f 66 20 74 63 6c 73 68  ersions.of tclsh
c3b0: 20 61 6e 64 20 6c 69 62 74 63 6c 2e 61 20 68 61   and libtcl.a ha
c3c0: 76 65 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65  ve version numbe
c3d0: 72 20 69 6e 20 74 68 65 6d 20 28 65 2e 67 2e 20  r in them (e.g. 
c3e0: 74 63 6c 73 68 37 2e 34 20 61 6e 64 0a 6c 69 62  tclsh7.4 and.lib
c3f0: 74 63 6c 37 2e 34 2e 61 29 20 61 6e 64 20 74 68  tcl7.4.a) and th
c400: 65 20 6c 69 62 72 61 72 79 20 64 69 72 65 63 74  e library direct
c410: 6f 72 79 20 6e 61 6d 65 20 61 6c 73 6f 20 68 61  ory name also ha
c420: 73 20 61 6e 20 65 6d 62 65 64 64 65 64 20 76 65  s an embedded ve
c430: 72 73 69 6f 6e 0a 6e 75 6d 62 65 72 20 28 65 2e  rsion.number (e.
c440: 67 2e 2c 20 2f 75 73 72 2f 6c 6f 63 61 6c 2f 6c  g., /usr/local/l
c450: 69 62 2f 74 63 6c 37 2e 34 29 2e 20 20 54 68 69  ib/tcl7.4).  Thi
c460: 73 20 73 68 6f 75 6c 64 20 6d 61 6b 65 20 69 74  s should make it
c470: 20 65 61 73 69 65 72 20 66 6f 72 0a 54 63 6c 20   easier for.Tcl 
c480: 37 2e 34 20 74 6f 20 63 6f 65 78 69 73 74 20 77  7.4 to coexist w
c490: 69 74 68 20 65 61 72 6c 69 65 72 20 76 65 72 73  ith earlier vers
c4a0: 69 6f 6e 73 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d  ions...---------
c4b0: 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65  -------- Release
c4c0: 64 20 76 65 72 73 69 6f 6e 20 37 2e 34 62 34 2c  d version 7.4b4,
c4d0: 20 36 2f 31 36 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d   6/16/95 -------
c4e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 36 2f 31  -----------..6/1
c4f0: 39 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 46  9/95 (bug fix) F
c500: 69 78 65 64 20 62 75 67 73 20 69 6e 20 74 63 6c  ixed bugs in tcl
c510: 43 6b 61 6c 6c 6f 63 2e 63 20 74 68 61 74 20 63  Ckalloc.c that c
c520: 61 75 73 65 64 20 63 6f 72 65 20 64 75 6d 70 73  aused core dumps
c530: 0a 69 66 20 54 43 4c 5f 4d 45 4d 5f 44 45 42 55  .if TCL_MEM_DEBU
c540: 47 20 77 61 73 20 65 6e 61 62 6c 65 64 20 6f 6e  G was enabled on
c550: 20 77 6f 72 64 2d 61 64 64 72 65 73 73 65 64 20   word-addressed 
c560: 6d 61 63 68 69 6e 65 73 20 73 75 63 68 20 61 73  machines such as
c570: 20 43 72 61 79 73 2e 0a 0a 36 2f 32 31 2f 39 35   Crays...6/21/95
c580: 20 28 66 65 61 74 75 72 65 20 72 65 6d 6f 76 61   (feature remova
c590: 6c 29 20 52 65 6d 6f 76 65 64 20 6f 76 65 72 66  l) Removed overf
c5a0: 6c 6f 77 20 63 68 65 63 6b 73 20 66 6f 72 20 69  low checks for i
c5b0: 6e 74 65 67 65 72 20 61 72 69 74 68 6d 65 74 69  nteger arithmeti
c5c0: 63 3a 0a 74 68 65 79 20 6a 75 73 74 20 63 61 75  c:.they just cau
c5d0: 73 65 20 74 6f 6f 20 6d 75 63 68 20 74 72 6f 75  se too much trou
c5e0: 62 6c 65 20 28 65 2e 67 2e 20 66 6f 72 20 72 61  ble (e.g. for ra
c5f0: 6e 64 6f 6d 20 20 6e 75 6d 62 65 72 20 67 65 6e  ndom  number gen
c600: 65 72 61 74 6f 72 73 29 2e 0a 0a 36 2f 32 38 2f  erators)...6/28/
c610: 39 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 73  95 (new features
c620: 29 20 41 64 64 65 64 20 74 63 6c 5f 70 61 74 63  ) Added tcl_patc
c630: 68 4c 65 76 65 6c 20 61 6e 64 20 74 63 6c 5f 76  hLevel and tcl_v
c640: 65 72 73 69 6f 6e 20 76 61 72 69 61 62 6c 65 73  ersion variables
c650: 2c 0a 66 6f 72 20 63 6f 6e 73 69 73 74 65 6e 63  ,.for consistenc
c660: 79 20 77 69 74 68 20 54 6b 2e 0a 0a 36 2f 32 39  y with Tk...6/29
c670: 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 46 69  /95 (bug fix) Fi
c680: 78 65 64 20 70 72 6f 62 6c 65 6d 20 69 6e 20 54  xed problem in T
c690: 63 6c 5f 45 76 61 6c 20 77 68 65 72 65 20 69 74  cl_Eval where it
c6a0: 20 64 69 64 6e 27 74 20 72 65 63 6f 72 64 0a 74   didn't record.t
c6b0: 68 65 20 72 69 67 68 74 20 74 65 72 6d 69 6e 61  he right termina
c6c0: 74 69 6f 6e 20 63 68 61 72 61 63 74 65 72 20 69  tion character i
c6d0: 66 20 61 20 73 63 72 69 70 74 20 65 6e 64 65 64  f a script ended
c6e0: 20 77 69 74 68 20 61 20 63 6f 6d 6d 65 6e 74 2e   with a comment.
c6f0: 20 20 54 68 69 73 0a 63 61 75 73 65 64 20 65 72    This.caused er
c700: 72 6f 6e 65 6f 75 73 20 6f 75 74 70 75 74 20 66  roneous output f
c710: 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  or the following
c720: 20 63 6f 6d 6d 61 6e 64 2c 20 61 6d 6f 6e 67 20   command, among 
c730: 6f 74 68 65 72 73 3a 0a 70 75 74 73 20 22 5b 0a  others:.puts "[.
c740: 65 78 70 72 20 31 2b 31 0a 23 20 64 75 68 21 0a  expr 1+1.# duh!.
c750: 5d 22 0a 0a 36 2f 32 39 2f 39 35 20 28 6d 65 73  ]"..6/29/95 (mes
c760: 73 61 67 65 20 63 68 61 6e 67 65 29 20 43 68 61  sage change) Cha
c770: 6e 67 65 64 20 74 68 65 20 65 72 72 6f 72 20 6d  nged the error m
c780: 65 73 73 61 67 65 20 66 6f 72 20 45 43 48 49 4c  essage for ECHIL
c790: 44 20 73 6c 69 67 68 74 6c 79 0a 74 6f 20 70 72  D slightly.to pr
c7a0: 6f 76 69 64 65 20 61 20 68 69 6e 74 20 61 62 6f  ovide a hint abo
c7b0: 75 74 20 77 68 79 20 74 68 65 20 70 72 6f 62 6c  ut why the probl
c7c0: 65 6d 20 69 73 20 6f 63 63 75 72 72 69 6e 67 2e  em is occurring.
c7d0: 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ..--------------
c7e0: 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 76 65 72  --- Released ver
c7f0: 73 69 6f 6e 20 37 2e 34 2c 20 37 2f 31 2f 39 35  sion 7.4, 7/1/95
c800: 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
c810: 2d 2d 2d 0a 0a 37 2f 31 38 2f 39 35 20 28 62 75  ---..7/18/95 (bu
c820: 67 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 22  g fix) Changed "
c830: 6c 72 65 70 6c 61 63 65 22 20 73 6f 20 74 68 61  lreplace" so tha
c840: 74 20 6e 6f 74 68 69 6e 67 20 69 73 20 64 65 6c  t nothing is del
c850: 65 74 65 64 20 69 66 0a 74 68 65 20 6c 61 73 74  eted if.the last
c860: 20 69 6e 64 65 78 20 69 73 20 6c 65 73 73 20 74   index is less t
c870: 68 61 6e 20 74 68 65 20 66 69 72 73 74 20 69 6e  han the first in
c880: 64 65 78 20 6f 72 20 69 66 20 74 68 65 20 6c 61  dex or if the la
c890: 73 74 20 69 6e 64 65 78 0a 69 73 20 3c 20 30 2e  st index.is < 0.
c8a0: 0a 0a 37 2f 31 38 2f 39 35 20 28 62 75 67 20 66  ..7/18/95 (bug f
c8b0: 69 78 29 20 46 69 78 65 64 20 62 75 67 73 20 77  ix) Fixed bugs w
c8c0: 69 74 68 20 62 61 63 6b 73 6c 61 73 68 65 73 20  ith backslashes 
c8d0: 69 6e 20 63 6f 6d 6d 65 6e 74 73 3a 0a 54 63 6c  in comments:.Tcl
c8e0: 5f 43 6f 6d 6d 61 6e 64 43 6f 6d 70 6c 65 74 65  _CommandComplete
c8f0: 20 28 61 6e 64 20 22 69 6e 66 6f 20 63 6f 6d 70   (and "info comp
c900: 6c 65 74 65 22 29 20 64 69 64 6e 27 74 20 70 72  lete") didn't pr
c910: 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65 0a 73 74  operly handle.st
c920: 72 69 6e 67 73 20 65 6e 64 69 6e 67 20 69 6e 20  rings ending in 
c930: 62 61 63 6b 73 6c 61 73 68 2d 6e 65 77 6c 69 6e  backslash-newlin
c940: 65 2c 20 61 6e 64 20 6e 65 69 74 68 65 72 20 54  e, and neither T
c950: 63 6c 5f 43 6f 6d 6d 61 6e 64 43 6f 6d 70 6c 65  cl_CommandComple
c960: 74 65 0a 6e 6f 72 20 74 68 65 20 54 63 6c 20 70  te.nor the Tcl p
c970: 61 72 73 65 72 20 68 61 6e 64 6c 65 64 20 6f 74  arser handled ot
c980: 68 65 72 20 62 61 63 6b 73 6c 61 73 68 20 73 65  her backslash se
c990: 71 75 65 6e 63 65 73 20 72 69 67 68 74 2c 20 73  quences right, s
c9a0: 75 63 68 0a 61 73 20 74 77 6f 20 62 61 63 6b 73  uch.as two backs
c9b0: 6c 61 73 68 65 73 20 62 65 66 6f 72 65 20 61 20  lashes before a 
c9c0: 6e 65 77 6c 69 6e 65 2e 0a 0a 37 2f 31 39 2f 39  newline...7/19/9
c9d0: 35 20 28 62 75 67 20 66 69 78 29 20 4d 6f 64 69  5 (bug fix) Modi
c9e0: 66 69 65 64 20 54 63 6c 5f 44 65 6c 65 74 65 43  fied Tcl_DeleteC
c9f0: 6f 6d 6d 61 6e 64 20 74 6f 20 64 65 6c 65 74 65  ommand to delete
ca00: 20 74 68 65 20 68 61 73 68 20 74 61 62 6c 65 0a   the hash table.
ca10: 65 6e 74 72 79 20 66 6f 72 20 74 68 65 20 63 6f  entry for the co
ca20: 6d 6d 61 6e 64 20 62 65 66 6f 72 65 20 69 6e 76  mmand before inv
ca30: 6f 6b 69 6e 67 20 69 74 73 20 63 61 6c 6c 62 61  oking its callba
ca40: 63 6b 2e 20 20 54 68 69 73 20 69 73 20 6e 65 65  ck.  This is nee
ca50: 64 65 64 20 69 6e 0a 6f 72 64 65 72 20 74 6f 20  ded in.order to 
ca60: 64 65 61 6c 20 77 69 74 68 20 72 65 65 6e 74 72  deal with reentr
ca70: 61 6e 63 79 2e 0a 0a 37 2f 32 32 2f 39 35 20 28  ancy...7/22/95 (
ca80: 62 75 67 20 66 69 78 29 20 22 65 78 65 63 22 20  bug fix) "exec" 
ca90: 77 61 73 6e 27 74 20 72 65 61 70 69 6e 67 20 70  wasn't reaping p
caa0: 72 6f 63 65 73 73 65 73 20 63 6f 72 72 65 63 74  rocesses correct
cab0: 6c 79 20 61 66 74 65 72 0a 63 65 72 74 61 69 6e  ly after.certain
cac0: 20 65 72 72 6f 72 73 20 28 65 2e 67 2e 20 69 66   errors (e.g. if
cad0: 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65   the name of the
cae0: 20 65 78 65 63 75 74 61 62 6c 65 20 77 61 73 20   executable was 
caf0: 62 6f 67 75 73 2c 20 61 73 0a 69 6e 20 22 65 78  bogus, as.in "ex
cb00: 65 63 20 66 6f 6f 62 61 72 22 29 2e 0a 0a 37 2f  ec foobar")...7/
cb10: 32 37 2f 39 35 20 28 62 75 67 20 66 69 78 29 20  27/95 (bug fix) 
cb20: 4d 61 6b 65 66 69 6c 65 2e 69 6e 20 77 61 73 6e  Makefile.in wasn
cb30: 27 74 20 75 73 69 6e 67 20 74 68 65 20 4c 49 42  't using the LIB
cb40: 53 20 76 61 72 69 61 62 6c 65 20 70 72 6f 76 69  S variable provi
cb50: 64 65 64 0a 62 79 20 74 68 65 20 22 63 6f 6e 66  ded.by the "conf
cb60: 69 67 75 72 65 22 20 73 63 72 69 70 74 2e 20 20  igure" script.  
cb70: 54 68 69 73 20 63 61 75 73 65 64 20 70 72 6f 62  This caused prob
cb80: 6c 65 6d 73 20 6f 6e 20 73 6f 6d 65 20 53 43 4f  lems on some SCO
cb90: 20 73 79 73 74 65 6d 73 2e 0a 0a 37 2f 32 37 2f   systems...7/27/
cba0: 39 35 20 28 62 75 67 20 66 69 78 29 20 54 68 65  95 (bug fix) The
cbb0: 20 76 65 72 73 69 6f 6e 20 6f 66 20 73 74 72 74   version of strt
cbc0: 6f 64 20 69 6e 20 66 69 78 73 74 72 74 6f 64 2e  od in fixstrtod.
cbd0: 63 20 64 69 64 6e 27 74 20 70 72 6f 70 65 72 6c  c didn't properl
cbe0: 79 0a 68 61 6e 64 6c 65 20 74 68 65 20 63 61 73  y.handle the cas
cbf0: 65 20 77 68 65 72 65 20 65 6e 64 50 74 72 20 3d  e where endPtr =
cc00: 3d 20 4e 55 4c 4c 2e 0a 0a 2d 2d 2d 2d 2d 2d 2d  = NULL...-------
cc10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
cc20: 73 65 64 20 70 61 74 63 68 20 37 2e 34 70 31 2c  sed patch 7.4p1,
cc30: 20 37 2f 32 39 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d   7/29/95 -------
cc40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
cc50: 0a 0a 38 2f 34 2f 39 35 20 28 62 75 67 20 66 69  ..8/4/95 (bug fi
cc60: 78 29 20 43 2d 6c 65 76 65 6c 20 74 72 61 63 65  x) C-level trace
cc70: 20 63 61 6c 6c 62 61 63 6b 73 20 66 6f 72 20 76   callbacks for v
cc80: 61 72 69 61 62 6c 65 73 20 77 65 72 65 20 73 6f  ariables were so
cc90: 6d 65 74 69 6d 65 73 0a 72 65 63 65 69 76 69 6e  metimes.receivin
cca0: 67 20 74 68 65 20 50 41 52 54 31 5f 4e 4f 54 5f  g the PART1_NOT_
ccb0: 50 41 52 53 45 44 20 66 6c 61 67 2c 20 77 68 69  PARSED flag, whi
ccc0: 63 68 20 63 6f 75 6c 64 20 63 61 75 73 65 20 65  ch could cause e
ccd0: 72 72 6f 72 73 20 69 6e 0a 73 75 62 73 65 71 75  rrors in.subsequ
cce0: 65 6e 74 20 54 63 6c 20 6c 69 62 72 61 72 79 20  ent Tcl library 
ccf0: 63 61 6c 6c 73 20 75 73 69 6e 67 20 74 68 65 20  calls using the 
cd00: 66 6c 61 67 73 2e 20 28 4a 4f 29 0a 0a 38 2f 34  flags. (JO)..8/4
cd10: 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 43 61  /95 (bug fix) Ca
cd20: 6c 6c 73 20 74 6f 20 74 6f 75 70 70 65 72 20 61  lls to toupper a
cd30: 6e 64 20 74 6f 6c 6f 77 65 72 20 77 65 72 65 6e  nd tolower weren
cd40: 27 74 20 75 73 69 6e 67 20 74 68 65 0a 55 43 48  't using the.UCH
cd50: 41 52 20 6d 61 63 72 6f 73 2c 20 77 68 69 63 68  AR macros, which
cd60: 20 63 61 75 73 65 64 20 74 72 6f 75 62 6c 65 20   caused trouble 
cd70: 69 6e 20 6e 6f 6e 2d 55 2e 53 2e 20 6c 6f 63 61  in non-U.S. loca
cd80: 6c 65 73 2e 20 28 4a 4f 29 0a 0a 38 2f 31 30 2f  les. (JO)..8/10/
cd90: 39 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  95 (new feature)
cda0: 20 41 64 64 65 64 20 74 68 65 20 22 6c 6f 61 64   Added the "load
cdb0: 22 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 64 79  " command for dy
cdc0: 6e 61 6d 69 63 20 6c 6f 61 64 69 6e 67 20 6f 66  namic loading of
cdd0: 0a 62 69 6e 61 72 79 20 70 61 63 6b 61 67 65 73  .binary packages
cde0: 2c 20 61 6e 64 20 74 68 65 20 54 63 6c 5f 50 61  , and the Tcl_Pa
cdf0: 63 6b 61 67 65 49 6e 69 74 50 72 6f 63 20 70 72  ckageInitProc pr
ce00: 6f 74 6f 74 79 70 65 20 66 6f 72 20 70 61 63 6b  ototype for pack
ce10: 61 67 65 0a 69 6e 69 74 69 61 6c 69 7a 61 74 69  age.initializati
ce20: 6f 6e 20 70 72 6f 63 65 64 75 72 65 73 2e 20 28  on procedures. (
ce30: 4a 4f 29 0a 0a 38 2f 32 33 2f 39 35 20 28 6e 65  JO)..8/23/95 (ne
ce40: 77 20 66 65 61 74 75 72 65 73 29 20 41 64 64 65  w features) Adde
ce50: 64 20 22 69 6e 66 6f 20 73 68 61 72 65 64 6c 69  d "info sharedli
ce60: 62 65 78 74 65 6e 73 69 6f 6e 22 20 61 6e 64 0a  bextension" and.
ce70: 22 69 6e 66 6f 20 6e 61 6d 65 6f 66 65 78 65 63  "info nameofexec
ce80: 75 74 61 62 6c 65 22 20 63 6f 6d 6d 61 6e 64 73  utable" commands
ce90: 2c 20 70 6c 75 73 20 54 63 6c 5f 46 69 6e 64 45  , plus Tcl_FindE
cea0: 78 74 65 6e 73 69 6f 6e 20 70 72 6f 63 65 64 75  xtension procedu
ceb0: 72 65 2e 20 28 4a 4f 29 0a 0a 38 2f 32 35 2f 39  re. (JO)..8/25/9
cec0: 35 20 28 62 75 67 20 66 69 78 29 20 49 66 20 74  5 (bug fix) If t
ced0: 68 65 20 74 61 72 67 65 74 20 6f 66 20 61 6e 20  he target of an 
cee0: 22 75 70 76 61 72 22 20 77 61 73 20 6e 6f 6e 2d  "upvar" was non-
cef0: 65 78 69 73 74 65 6e 74 20 62 75 74 0a 68 61 64  existent but.had
cf00: 20 74 72 61 63 65 73 20 73 65 74 2c 20 74 68 65   traces set, the
cf10: 20 74 72 61 63 65 73 20 77 65 72 65 20 73 69 6c   traces were sil
cf20: 65 6e 74 6c 79 20 6c 6f 73 74 2e 20 20 43 68 61  ently lost.  Cha
cf30: 6e 67 65 20 74 6f 20 67 65 6e 65 72 61 74 65 0a  nge to generate.
cf40: 61 6e 20 65 72 72 6f 72 20 69 6e 73 74 65 61 64  an error instead
cf50: 2e 20 28 4a 4f 29 0a 0a 38 2f 32 35 2f 39 35 20  . (JO)..8/25/95 
cf60: 28 62 75 67 20 66 69 78 29 20 55 6e 64 69 64 20  (bug fix) Undid 
cf70: 63 68 61 6e 67 65 20 66 72 6f 6d 20 37 2f 31 39  change from 7/19
cf80: 2c 20 73 6f 20 74 68 61 74 20 63 6f 6d 6d 61 6e  , so that comman
cf90: 64 73 20 63 61 6e 20 73 74 61 79 0a 61 72 6f 75  ds can stay.arou
cfa0: 6e 64 20 77 68 69 6c 65 20 74 68 65 69 72 20 64  nd while their d
cfb0: 65 6c 65 74 69 6f 6e 20 63 61 6c 6c 62 61 63 6b  eletion callback
cfc0: 73 20 65 78 65 63 75 74 65 2e 20 20 41 64 64 65  s execute.  Adde
cfd0: 64 20 6c 6f 74 73 20 6f 66 20 63 6f 64 65 20 74  d lots of code t
cfe0: 6f 0a 68 61 6e 64 6c 65 20 61 6c 6c 20 6f 66 20  o.handle all of 
cff0: 74 68 65 20 72 65 65 6e 74 72 61 6e 63 79 20 70  the reentrancy p
d000: 72 6f 62 6c 65 6d 73 20 74 68 61 74 20 74 68 69  roblems that thi
d010: 73 20 6f 70 65 6e 73 20 75 70 2e 20 28 4a 4f 29  s opens up. (JO)
d020: 0a 0a 38 2f 32 35 2f 39 35 20 28 62 75 67 20 66  ..8/25/95 (bug f
d030: 69 78 29 20 46 69 78 65 64 20 63 6f 72 65 20 64  ix) Fixed core d
d040: 75 6d 70 20 74 68 61 74 20 63 6f 75 6c 64 20 6f  ump that could o
d050: 63 63 75 72 20 69 6e 20 54 63 6c 44 65 6c 65 74  ccur in TclDelet
d060: 65 56 61 72 73 0a 69 66 20 74 68 65 72 65 20 77  eVars.if there w
d070: 61 73 20 61 6e 20 75 70 76 61 72 20 66 72 6f 6d  as an upvar from
d080: 20 6f 6e 65 20 65 6e 74 72 79 20 69 6e 20 74 68   one entry in th
d090: 65 20 74 61 62 6c 65 20 74 6f 20 74 68 65 20 6e  e table to the n
d0a0: 65 78 74 20 65 6e 74 72 79 0a 69 6e 20 74 68 65  ext entry.in the
d0b0: 20 73 61 6d 65 20 74 61 62 6c 65 2e 20 28 4a 4f   same table. (JO
d0c0: 29 0a 0a 38 2f 32 38 2f 39 35 20 28 62 75 67 20  )..8/28/95 (bug 
d0d0: 66 69 78 29 20 45 78 65 63 20 77 61 73 6e 27 74  fix) Exec wasn't
d0e0: 20 68 61 6e 64 6c 69 6e 67 20 62 61 64 20 75 73   handling bad us
d0f0: 65 72 20 6e 61 6d 65 73 20 70 72 6f 70 65 72 6c  er names properl
d100: 79 2c 20 61 73 0a 69 6e 20 22 65 78 65 63 20 7e  y, as.in "exec ~
d110: 62 6f 67 75 73 5f 75 73 65 72 2f 66 6f 6f 22 2e  bogus_user/foo".
d120: 20 28 4a 4f 29 0a 0a 38 2f 32 39 2f 39 35 20 28   (JO)..8/29/95 (
d130: 62 75 67 20 66 69 78 65 73 29 20 43 68 61 6e 67  bug fixes) Chang
d140: 65 64 20 62 61 63 6b 73 6c 61 73 68 2d 6e 65 77  ed backslash-new
d150: 6c 69 6e 65 20 68 61 6e 64 6c 69 6e 67 20 74 6f  line handling to
d160: 20 63 6f 72 72 65 63 74 20 74 77 6f 0a 70 72 6f   correct two.pro
d170: 62 6c 65 6d 73 3a 0a 20 20 20 20 2d 20 4f 6e 6c  blems:.    - Onl
d180: 79 20 73 70 61 63 65 73 20 61 6e 64 20 74 61 62  y spaces and tab
d190: 73 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20  s following the 
d1a0: 62 61 63 6b 73 6c 61 73 68 2d 6e 65 77 6c 69 6e  backslash-newlin
d1b0: 65 20 61 72 65 20 6e 6f 77 0a 20 20 20 20 20 20  e are now.      
d1c0: 61 62 73 6f 72 62 65 64 20 61 73 20 70 61 72 74  absorbed as part
d1d0: 20 6f 66 20 74 68 65 20 62 61 63 6b 73 6c 61 73   of the backslas
d1e0: 68 2d 6e 65 77 6c 69 6e 65 2e 20 20 4e 65 77 6c  h-newline.  Newl
d1f0: 69 6e 65 77 20 61 72 65 20 6e 6f 0a 20 20 20 20  inew are no.    
d200: 20 20 6c 6f 6e 67 65 72 20 61 62 73 6f 72 62 65    longer absorbe
d210: 64 20 28 61 64 64 20 61 6e 6f 74 68 65 72 20 62  d (add another b
d220: 61 63 6b 73 6c 61 73 68 20 69 66 20 79 6f 75 20  ackslash if you 
d230: 77 61 6e 74 20 74 6f 20 61 62 73 6f 72 62 0a 20  want to absorb. 
d240: 20 20 20 20 20 61 6e 6f 74 68 65 72 20 6e 65 77       another new
d250: 6c 69 6e 65 29 2e 0a 20 20 20 20 2d 20 54 63 6c  line)..    - Tcl
d260: 57 6f 72 64 45 6e 64 20 72 65 74 75 72 6e 73 20  WordEnd returns 
d270: 74 68 65 20 63 68 61 72 61 63 74 65 72 20 6a 75  the character ju
d280: 73 74 20 62 65 66 6f 72 65 20 74 68 65 20 62 61  st before the ba
d290: 63 6b 73 6c 61 73 68 20 69 6e 0a 20 20 20 20 20  ckslash in.     
d2a0: 20 74 68 65 20 73 65 71 75 65 6e 63 65 20 61 73   the sequence as
d2b0: 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20   the end of the 
d2c0: 73 65 71 75 65 6e 63 65 3b 20 20 69 74 20 75 73  sequence;  it us
d2d0: 65 64 20 74 6f 20 6e 6f 74 20 63 6f 6e 73 69 64  ed to not consid
d2e0: 65 72 0a 20 20 20 20 20 20 74 68 65 20 62 61 63  er.      the bac
d2f0: 6b 73 6c 61 73 68 2d 6e 65 77 6c 69 6e 65 20 61  kslash-newline a
d300: 73 20 61 20 77 6f 72 64 20 73 65 70 61 72 61 74  s a word separat
d310: 6f 72 2e 20 28 4a 4f 29 0a 0a 38 2f 33 31 2f 39  or. (JO)..8/31/9
d320: 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  5 (new feature) 
d330: 43 68 61 6e 67 65 64 20 6d 61 6e 20 70 61 67 65  Changed man page
d340: 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 28 77   installation (w
d350: 69 74 68 20 22 6d 6b 4c 69 6e 6b 73 22 0a 73 63  ith "mkLinks".sc
d360: 72 69 70 74 29 20 74 6f 20 63 72 65 61 74 65 20  ript) to create 
d370: 61 64 64 69 74 69 6f 6e 61 6c 20 6c 69 6e 6b 73  additional links
d380: 20 66 6f 72 20 6d 61 6e 75 61 6c 20 70 61 67 65   for manual page
d390: 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20  s corresponding 
d3a0: 74 6f 0a 65 61 63 68 20 6f 66 20 74 68 65 20 70  to.each of the p
d3b0: 72 6f 63 65 64 75 72 65 20 61 6e 64 20 63 6f 6d  rocedure and com
d3c0: 6d 61 6e 64 20 6e 61 6d 65 73 20 64 65 73 63 72  mand names descr
d3d0: 69 62 65 64 20 69 6e 20 74 68 65 20 70 61 67 65  ibed in the page
d3e0: 73 2e 20 28 4a 4f 29 0a 0a 39 2f 31 30 2f 39 35  s. (JO)..9/10/95
d3f0: 20 52 65 6f 72 67 61 6e 69 7a 65 64 20 54 63 6c   Reorganized Tcl
d400: 20 73 6f 75 72 63 65 73 20 66 6f 72 20 57 69 6e   sources for Win
d410: 64 6f 77 73 20 61 6e 64 20 4d 61 63 20 70 6f 72  dows and Mac por
d420: 74 73 2e 20 20 41 6c 6c 20 73 6f 75 72 63 65 73  ts.  All sources
d430: 0a 61 72 65 20 6e 6f 77 20 69 6e 20 73 75 62 64  .are now in subd
d440: 69 72 65 63 74 6f 72 69 65 73 3a 20 20 22 67 65  irectories:  "ge
d450: 6e 65 72 69 63 22 20 63 6f 6e 74 61 69 6e 73 20  neric" contains 
d460: 73 6f 75 72 63 65 73 20 74 68 61 74 20 77 6f 72  sources that wor
d470: 6b 20 6f 6e 20 61 6c 6c 0a 70 6c 61 74 66 6f 72  k on all.platfor
d480: 6d 73 2c 20 22 77 69 6e 64 6f 77 73 22 2c 20 22  ms, "windows", "
d490: 6d 61 63 22 2c 20 61 6e 64 20 22 75 6e 69 78 22  mac", and "unix"
d4a0: 20 64 69 72 65 63 74 6f 72 69 65 73 20 63 6f 6e   directories con
d4b0: 74 61 69 6e 20 70 6c 61 74 66 6f 72 6d 2d 0a 73  tain platform-.s
d4c0: 70 65 63 69 66 69 63 20 73 6f 75 72 63 65 73 2e  pecific sources.
d4d0: 20 20 53 6f 6d 65 20 55 4e 49 58 20 73 6f 75 72    Some UNIX sour
d4e0: 63 65 73 20 61 72 65 20 61 6c 73 6f 20 75 73 65  ces are also use
d4f0: 64 20 6f 6e 20 6f 74 68 65 72 20 70 6c 61 74 66  d on other platf
d500: 6f 72 6d 73 2e 20 28 53 53 29 0a 0a 39 2f 31 30  orms. (SS)..9/10
d510: 2f 39 35 20 28 66 65 61 74 75 72 65 20 63 68 61  /95 (feature cha
d520: 6e 67 65 29 20 45 6c 69 6d 69 6e 61 74 65 64 20  nge) Eliminated 
d530: 65 78 70 6f 72 74 65 64 20 67 6c 6f 62 61 6c 20  exported global 
d540: 76 61 72 69 61 62 6c 65 73 20 28 74 68 65 79 0a  variables (they.
d550: 64 6f 6e 27 74 20 77 6f 72 6b 20 77 69 74 68 20  don't work with 
d560: 57 69 6e 64 6f 77 73 20 44 4c 4c 73 29 2e 20 20  Windows DLLs).  
d570: 52 65 70 6c 61 63 65 64 20 74 63 6c 5f 41 73 79  Replaced tcl_Asy
d580: 6e 63 52 65 61 64 79 20 61 6e 64 0a 74 63 6c 5f  ncReady and.tcl_
d590: 46 69 6c 65 43 6c 6f 73 65 50 72 6f 63 20 77 69  FileCloseProc wi
d5a0: 74 68 20 70 72 6f 63 65 64 75 72 65 73 20 54 63  th procedures Tc
d5b0: 6c 5f 41 73 79 6e 63 52 65 61 64 79 28 29 20 61  l_AsyncReady() a
d5c0: 6e 64 0a 54 63 6c 5f 53 65 74 46 69 6c 65 43 6c  nd.Tcl_SetFileCl
d5d0: 6f 73 65 50 72 6f 63 28 29 2e 20 20 52 65 70 6c  oseProc().  Repl
d5e0: 61 63 65 64 20 43 20 76 61 72 69 61 62 6c 65 20  aced C variable 
d5f0: 74 63 6c 5f 52 63 46 69 6c 65 4e 61 6d 65 20 77  tcl_RcFileName w
d600: 69 74 68 0a 61 20 54 63 6c 20 76 61 72 69 61 62  ith.a Tcl variab
d610: 6c 65 20 74 63 6c 5f 72 63 46 69 6c 65 4e 61 6d  le tcl_rcFileNam
d620: 65 2e 20 28 53 53 29 0a 2a 2a 2a 20 50 4f 54 45  e. (SS).*** POTE
d630: 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
d640: 49 4c 49 54 59 20 2a 2a 2a 0a 0a 39 2f 31 31 2f  ILITY ***..9/11/
d650: 39 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  95 (new feature)
d660: 20 41 64 64 65 64 20 70 72 6f 63 65 64 75 72 65   Added procedure
d670: 20 54 63 6c 5f 53 65 74 50 61 6e 69 63 50 72 6f   Tcl_SetPanicPro
d680: 63 20 74 6f 20 6f 76 65 72 72 69 64 65 0a 74 68  c to override.th
d690: 65 20 64 65 66 61 75 6c 74 20 69 6d 70 6c 65 6d  e default implem
d6a0: 65 6e 74 61 74 69 6f 6e 20 6f 66 20 22 70 61 6e  entation of "pan
d6b0: 69 63 22 2e 20 28 53 53 29 0a 0a 39 2f 31 31 2f  ic". (SS)..9/11/
d6c0: 39 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  95 (new feature)
d6d0: 20 41 64 64 65 64 20 22 69 6e 74 65 72 70 22 20   Added "interp" 
d6e0: 63 6f 6d 6d 61 6e 64 20 74 6f 20 61 6c 6c 6f 77  command to allow
d6f0: 20 63 72 65 61 74 69 6f 6e 20 6f 66 0a 6e 65 77   creation of.new
d700: 20 69 6e 74 65 72 70 72 65 74 65 72 73 20 61 6e   interpreters an
d710: 64 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 75  d execution of u
d720: 6e 74 72 75 73 74 65 64 20 73 63 72 69 70 74 73  ntrusted scripts
d730: 2e 20 20 41 64 64 65 64 20 6d 61 6e 79 20 6e 65  .  Added many ne
d740: 77 0a 70 72 6f 63 65 64 75 72 65 73 2c 20 73 75  w.procedures, su
d750: 63 68 20 61 73 20 54 63 6c 5f 43 72 65 61 74 65  ch as Tcl_Create
d760: 53 6c 61 76 65 2c 20 54 63 6c 5f 43 72 65 61 74  Slave, Tcl_Creat
d770: 65 41 6c 69 61 73 2c 61 6e 64 20 54 63 6c 5f 4d  eAlias,and Tcl_M
d780: 61 6b 65 53 61 66 65 2c 0a 74 6f 20 70 72 6f 76  akeSafe,.to prov
d790: 69 64 65 20 43 2d 6c 65 76 65 6c 20 61 63 63 65  ide C-level acce
d7a0: 73 73 20 74 6f 20 74 68 65 20 69 6e 74 65 72 70  ss to the interp
d7b0: 72 65 74 65 72 20 66 61 63 69 6c 69 74 79 2e 20  reter facility. 
d7c0: 54 68 69 73 20 6d 65 63 68 61 6e 69 73 6d 0a 6e  This mechanism.n
d7d0: 6f 77 20 70 72 6f 76 69 64 65 73 20 61 6c 6d 6f  ow provides almo
d7e0: 73 74 20 61 6c 6c 20 6f 66 20 74 68 65 20 67 65  st all of the ge
d7f0: 6e 65 72 69 63 20 66 75 6e 63 74 69 6f 6e 73 20  neric functions 
d800: 6f 66 20 42 6f 72 65 6e 73 74 65 69 6e 27 73 20  of Borenstein's 
d810: 61 6e 64 0a 52 6f 73 65 27 73 20 53 61 66 65 2d  and.Rose's Safe-
d820: 54 63 6c 20 28 62 75 74 20 6e 6f 74 20 61 6e 79  Tcl (but not any
d830: 20 54 6b 20 6f 72 20 65 6d 61 69 6c 2d 72 65 6c   Tk or email-rel
d840: 61 74 65 64 20 73 74 75 66 66 29 2e 20 20 28 4a  ated stuff).  (J
d850: 4c 29 0a 0a 39 2f 31 31 2f 39 35 20 28 66 65 61  L)..9/11/95 (fea
d860: 74 75 72 65 20 63 68 61 6e 67 65 29 20 43 68 61  ture change) Cha
d870: 6e 67 65 64 20 66 69 6c 65 20 6d 61 6e 61 67 65  nged file manage
d880: 6d 65 6e 74 20 73 6f 20 74 68 61 74 20 66 69 6c  ment so that fil
d890: 65 73 20 61 72 65 0a 6e 6f 20 6c 6f 6e 67 65 72  es are.no longer
d8a0: 20 73 68 61 72 65 64 20 62 65 74 77 65 65 6e 20   shared between 
d8b0: 69 6e 74 65 72 70 72 65 74 65 72 73 3a 20 20 61  interpreters:  a
d8c0: 20 66 69 6c 65 20 63 61 6e 6e 6f 74 20 6e 6f 72   file cannot nor
d8d0: 6d 61 6c 6c 79 20 62 65 0a 72 65 66 65 72 65 6e  mally be.referen
d8e0: 63 65 64 20 69 6e 20 6f 6e 65 20 69 6e 74 65 72  ced in one inter
d8f0: 70 72 65 74 65 72 20 69 66 20 69 74 20 77 61 73  preter if it was
d900: 20 6f 70 65 6e 65 64 20 69 6e 20 61 6e 6f 74 68   opened in anoth
d910: 65 72 2e 20 20 54 68 69 73 0a 66 65 61 74 75 72  er.  This.featur
d920: 65 20 69 73 20 6e 65 65 64 65 64 20 74 6f 20 73  e is needed to s
d930: 75 70 70 6f 72 74 20 73 61 66 65 20 69 6e 74 65  upport safe inte
d940: 72 70 72 65 74 65 72 73 2e 20 20 41 64 64 65 64  rpreters.  Added
d950: 20 54 63 6c 5f 53 68 61 72 65 48 61 6e 64 6c 65   Tcl_ShareHandle
d960: 28 29 0a 70 72 6f 63 65 64 75 72 65 20 66 6f 72  ().procedure for
d970: 20 61 6c 6c 6f 77 69 6e 67 20 66 69 6c 65 73 20   allowing files 
d980: 74 6f 20 62 65 20 73 68 61 72 65 64 2c 20 61 6e  to be shared, an
d990: 64 20 61 64 64 65 64 20 22 69 6e 74 65 72 70 22  d added "interp"
d9a0: 20 61 72 67 75 6d 65 6e 74 0a 74 6f 20 54 63 6c   argument.to Tcl
d9b0: 5f 46 69 6c 65 50 65 72 6d 69 73 73 69 6f 6e 73  _FilePermissions
d9c0: 20 70 72 6f 63 65 64 75 72 65 2e 20 28 4a 4c 29   procedure. (JL)
d9d0: 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
d9e0: 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a  NCOMPATIBILITY *
d9f0: 2a 2a 0a 0a 39 2f 31 31 2f 39 35 20 28 6e 65 77  **..9/11/95 (new
da00: 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20   feature) Added 
da10: 22 41 73 73 6f 63 44 61 74 61 22 20 6d 65 63 68  "AssocData" mech
da20: 61 6e 69 73 6d 2c 20 77 68 65 72 65 62 79 20 65  anism, whereby e
da30: 78 74 65 6e 73 69 6f 6e 73 0a 63 61 6e 20 61 73  xtensions.can as
da40: 73 6f 63 69 61 74 65 20 74 68 65 69 72 20 6f 77  sociate their ow
da50: 6e 20 64 61 74 61 20 77 69 74 68 20 61 6e 20 69  n data with an i
da60: 6e 74 65 72 70 72 65 74 65 72 20 61 6e 64 20 67  nterpreter and g
da70: 65 74 20 63 61 6c 6c 65 64 20 62 61 63 6b 0a 77  et called back.w
da80: 68 65 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65  hen the interpre
da90: 74 65 72 20 69 73 20 64 65 6c 65 74 65 64 2e 20  ter is deleted. 
daa0: 20 54 68 69 73 20 69 73 20 76 69 73 69 62 6c 65   This is visible
dab0: 20 61 74 20 43 20 6c 65 76 65 6c 20 76 69 61 20   at C level via 
dac0: 74 68 65 0a 70 72 6f 63 65 64 75 72 65 73 20 54  the.procedures T
dad0: 63 6c 5f 53 65 74 41 73 73 6f 63 44 61 74 61 20  cl_SetAssocData 
dae0: 61 6e 64 20 54 63 6c 5f 47 65 74 41 73 73 6f 63  and Tcl_GetAssoc
daf0: 44 61 74 61 2e 20 20 28 4a 4c 29 0a 0a 39 2f 31  Data.  (JL)..9/1
db00: 31 2f 39 35 20 28 6e 65 77 20 66 65 61 74 75 72  1/95 (new featur
db10: 65 29 20 41 64 64 65 64 20 54 63 6c 5f 45 72 72  e) Added Tcl_Err
db20: 6e 6f 4d 73 67 20 74 6f 20 74 72 61 6e 73 6c 61  noMsg to transla
db30: 74 65 20 61 6e 20 65 72 72 6e 6f 20 76 61 6c 75  te an errno valu
db40: 65 0a 69 6e 74 6f 20 61 20 68 75 6d 61 6e 2d 72  e.into a human-r
db50: 65 61 64 61 62 6c 65 20 73 74 72 69 6e 67 2e 20  eadable string. 
db60: 20 54 68 69 73 20 69 73 20 6e 6f 77 20 75 73 65   This is now use
db70: 64 20 69 6e 73 74 65 61 64 20 6f 66 20 63 61 6c  d instead of cal
db80: 6c 69 6e 67 0a 73 74 72 65 72 72 6f 72 20 62 65  ling.strerror be
db90: 63 61 75 73 65 20 73 74 72 65 72 72 6f 72 20 6d  cause strerror m
dba0: 65 73 61 67 65 73 20 76 61 72 79 20 64 72 61 6d  esages vary dram
dbb0: 61 74 69 63 61 6c 6c 79 20 66 72 6f 6d 20 70 6c  atically from pl
dbc0: 61 74 66 6f 72 6d 0a 74 6f 20 70 6c 61 74 66 6f  atform.to platfo
dbd0: 72 6d 2c 20 77 68 69 63 68 20 6d 65 73 73 65 73  rm, which messes
dbe0: 20 75 70 20 54 63 6c 20 74 65 73 74 73 2e 20 20   up Tcl tests.  
dbf0: 54 63 6c 5f 45 72 72 6e 6f 4d 73 67 20 75 73 65  Tcl_ErrnoMsg use
dc00: 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 50  s the standard.P
dc10: 4f 53 49 58 20 6d 65 73 73 61 67 65 73 20 66 6f  OSIX messages fo
dc20: 72 20 61 6c 6c 20 74 68 65 20 63 6f 6d 6d 6f 6e  r all the common
dc30: 20 73 69 67 6e 61 6c 73 2c 20 61 6e 64 20 63 61   signals, and ca
dc40: 6c 6c 73 20 73 74 72 65 72 72 6f 72 20 66 6f 72  lls strerror for
dc50: 0a 73 69 67 6e 61 6c 73 20 69 74 20 64 6f 65 73  .signals it does
dc60: 6e 27 74 20 75 6e 64 65 72 73 74 61 6e 64 2e 0a  n't understand..
dc70: 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .---------------
dc80: 2d 2d 20 52 65 6c 65 61 73 65 64 20 70 61 74 63  -- Released patc
dc90: 68 20 37 2e 34 70 32 2c 20 39 2f 31 35 2f 39 35  h 7.4p2, 9/15/95
dca0: 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
dcb0: 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 2d 2d 2d 2d 2d 2d  --------..------
dcc0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65  ----------- Rele
dcd0: 61 73 65 64 20 37 2e 35 61 31 2c 20 39 2f 31 35  ased 7.5a1, 9/15
dce0: 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  /95 ------------
dcf0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 39 2f 32  -----------..9/2
dd00: 32 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 43  2/95 (bug fix) C
dd10: 68 61 6e 67 65 64 20 61 75 74 6f 5f 6d 6b 69 6e  hanged auto_mkin
dd20: 64 65 78 20 74 6f 20 63 72 65 61 74 65 20 74 63  dex to create tc
dd30: 6c 49 6e 64 65 78 20 66 69 6c 65 73 20 74 68 61  lIndex files tha
dd40: 74 0a 68 61 6e 64 6c 65 20 64 69 72 65 63 74 6f  t.handle directo
dd50: 72 69 65 73 20 77 68 6f 73 65 20 70 61 74 68 73  ries whose paths
dd60: 20 6d 69 67 68 74 20 63 6f 6e 74 61 69 6e 20 73   might contain s
dd70: 70 61 63 65 73 2e 20 28 52 4a 29 0a 0a 39 2f 32  paces. (RJ)..9/2
dd80: 37 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 54  7/95 (bug fix) T
dd90: 68 65 20 22 66 6f 72 6d 61 74 22 20 63 6f 6d 6d  he "format" comm
dda0: 61 6e 64 20 64 69 64 6e 27 74 20 63 68 65 63 6b  and didn't check
ddb0: 20 66 6f 72 20 68 75 67 65 20 6f 72 20 6e 65 67   for huge or neg
ddc0: 61 74 69 76 65 0a 77 69 64 74 68 20 73 70 65 63  ative.width spec
ddd0: 69 66 69 65 72 73 2c 20 77 68 69 63 68 20 63 6f  ifiers, which co
dde0: 75 6c 64 20 63 61 75 73 65 20 63 6f 72 65 20 64  uld cause core d
ddf0: 75 6d 70 73 2e 20 28 4a 4f 29 0a 0a 39 2f 32 37  umps. (JO)..9/27
de00: 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 43 6f  /95 (bug fix) Co
de10: 72 65 20 64 75 6d 70 73 20 63 6f 75 6c 64 20 6f  re dumps could o
de20: 63 63 75 72 20 69 66 20 61 6e 20 69 6e 74 65 72  ccur if an inter
de30: 61 63 74 69 76 65 20 63 6f 6d 6d 61 6e 64 20 74  active command t
de40: 79 70 65 64 0a 74 6f 20 74 63 6c 73 68 20 72 65  yped.to tclsh re
de50: 74 75 72 6e 65 64 20 61 20 76 65 72 79 20 6c 6f  turned a very lo
de60: 6e 67 20 72 65 73 75 6c 74 20 66 6f 72 20 74 63  ng result for tc
de70: 6c 73 68 20 74 6f 20 70 72 69 6e 74 20 6f 75 74  lsh to print out
de80: 2e 20 20 54 68 65 20 62 75 67 20 69 73 0a 61 63  .  The bug is.ac
de90: 74 75 61 6c 6c 79 20 69 6e 20 70 72 69 6e 74 66  tually in printf
dea0: 20 28 69 6e 20 53 6f 6c 61 72 69 73 20 32 2e 33   (in Solaris 2.3
deb0: 20 61 6e 64 20 32 2e 34 2c 20 61 74 20 6c 65 61   and 2.4, at lea
dec0: 73 74 29 3b 20 20 73 77 69 74 63 68 65 64 20 74  st);  switched t
ded0: 6f 20 75 73 65 0a 70 75 74 73 20 69 6e 73 74 65  o use.puts inste
dee0: 61 64 2e 20 20 28 4a 4f 29 0a 0a 39 2f 32 38 2f  ad.  (JO)..9/28/
def0: 39 35 20 28 62 75 67 20 66 69 78 29 20 43 68 61  95 (bug fix) Cha
df00: 6e 67 65 64 20 6d 61 6b 65 66 69 6c 65 2e 62 63  nged makefile.bc
df10: 20 74 6f 20 65 6c 69 6d 69 6e 61 74 65 20 61 20   to eliminate a 
df20: 66 61 6c 73 65 20 64 65 70 65 6e 64 65 6e 63 79  false dependency
df30: 0a 66 6f 72 20 74 63 6c 31 36 37 35 2e 64 6c 6c  .for tcl1675.dll
df40: 20 6f 6e 20 74 68 65 20 42 6f 72 6c 61 6e 64 20   on the Borland 
df50: 72 75 6e 20 74 69 6d 65 20 6c 69 62 72 61 72 79  run time library
df60: 2e 20 28 53 53 29 0a 0a 39 2f 32 38 2f 39 35 20  . (SS)..9/28/95 
df70: 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
df80: 74 63 6c 37 35 2e 64 6c 6c 20 73 6f 20 69 74 20  tcl75.dll so it 
df90: 6c 6f 6f 6b 73 20 66 6f 72 20 74 63 6c 31 36 37  looks for tcl167
dfa0: 35 2e 64 6c 6c 20 69 6e 73 74 65 61 64 0a 6f 66  5.dll instead.of
dfb0: 20 74 63 6c 31 36 2e 64 6c 6c 2e 20 28 53 53 29   tcl16.dll. (SS)
dfc0: 0a 0a 39 2f 32 38 2f 39 35 20 28 62 75 67 20 66  ..9/28/95 (bug f
dfd0: 69 78 29 20 54 63 6c 20 77 61 73 20 6e 6f 74 20  ix) Tcl was not 
dfe0: 63 6f 72 72 65 63 74 6c 79 20 64 65 74 65 63 74  correctly detect
dff0: 69 6e 67 20 74 68 65 20 64 69 66 66 65 72 65 6e  ing the differen
e000: 63 65 0a 62 65 74 77 65 65 6e 20 57 69 6e 33 32  ce.between Win32
e010: 73 20 61 6e 64 20 57 69 6e 64 6f 77 73 20 27 39  s and Windows '9
e020: 35 2e 20 28 53 53 29 0a 0a 39 2f 32 38 2f 39 35  5. (SS)..9/28/95
e030: 20 28 62 75 67 20 66 69 78 29 20 22 65 78 65 63   (bug fix) "exec
e040: 22 20 77 61 73 20 6e 6f 74 20 70 61 73 73 69 6e  " was not passin
e050: 67 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 63 68  g environment ch
e060: 61 6e 67 65 73 20 74 6f 20 63 68 69 6c 64 0a 70  anges to child.p
e070: 72 6f 63 65 73 73 65 73 20 75 6e 64 65 72 20 57  rocesses under W
e080: 69 6e 64 6f 77 73 2e 20 28 53 53 29 0a 0a 39 2f  indows. (SS)..9/
e090: 32 38 2f 39 35 20 28 62 75 67 20 66 69 78 29 20  28/95 (bug fix) 
e0a0: 43 68 61 6e 67 65 64 20 54 63 6c 20 74 6f 20 65  Changed Tcl to e
e0b0: 6e 73 75 72 65 20 74 68 61 74 20 6f 70 65 6e 20  nsure that open 
e0c0: 66 69 6c 65 73 20 61 72 65 20 6e 6f 74 20 70 61  files are not pa
e0d0: 73 73 65 64 0a 74 6f 20 63 68 69 6c 64 20 70 72  ssed.to child pr
e0e0: 6f 63 65 73 73 65 73 20 75 6e 64 65 72 20 57 69  ocesses under Wi
e0f0: 6e 64 6f 77 73 2e 20 28 53 53 29 0a 0a 39 2f 32  ndows. (SS)..9/2
e100: 38 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 46  8/95 (bug fix) F
e110: 69 78 65 64 20 57 69 6e 64 6f 77 73 20 27 39 35  ixed Windows '95
e120: 20 61 6e 64 20 4e 54 20 76 65 72 73 69 6f 6e 73   and NT versions
e130: 20 6f 66 20 65 78 65 63 20 73 6f 20 69 74 20 63   of exec so it c
e140: 61 6e 0a 68 61 6e 64 6c 65 20 62 6f 74 68 20 63  an.handle both c
e150: 6f 6e 73 6f 6c 65 20 61 6e 64 20 77 69 6e 64 6f  onsole and windo
e160: 77 73 20 61 70 70 73 2e 20 20 20 28 53 53 29 0a  ws apps.   (SS).
e170: 0a 39 2f 32 38 2f 39 35 20 28 62 75 67 20 66 69  .9/28/95 (bug fi
e180: 78 29 20 46 69 78 65 64 20 57 69 6e 64 6f 77 73  x) Fixed Windows
e190: 20 76 65 72 73 69 6f 6e 20 6f 66 20 65 78 65 63   version of exec
e1a0: 20 73 6f 20 69 74 20 6e 6f 20 6c 6f 6e 67 65 72   so it no longer
e1b0: 20 6c 65 61 76 65 73 0a 74 65 6d 70 20 66 69 6c   leaves.temp fil
e1c0: 65 73 20 6c 79 69 6e 67 20 61 72 6f 75 6e 64 2e  es lying around.
e1d0: 20 20 41 6c 73 6f 20 63 68 61 6e 67 65 64 20 69    Also changed i
e1e0: 74 20 73 6f 20 74 68 65 20 74 65 6d 70 20 66 69  t so the temp fi
e1f0: 6c 65 73 20 61 72 65 0a 63 72 65 61 74 65 64 20  les are.created 
e200: 69 6e 20 74 68 65 20 61 70 70 72 6f 70 72 69 61  in the appropria
e210: 74 65 20 73 79 73 74 65 6d 20 64 65 70 65 6e 64  te system depend
e220: 65 6e 74 20 74 65 6d 70 20 64 69 72 65 63 74 6f  ent temp directo
e230: 72 79 2e 20 28 53 53 29 0a 0a 39 2f 32 38 2f 39  ry. (SS)..9/28/9
e240: 35 20 28 62 75 67 20 66 69 78 29 20 45 6c 69 6d  5 (bug fix) Elim
e250: 69 6e 61 74 65 64 20 73 6f 75 72 63 65 20 64 65  inated source de
e260: 70 65 6e 64 65 6e 63 79 20 6f 6e 20 74 68 65 20  pendency on the 
e270: 57 69 6e 33 32 73 20 55 6e 69 76 65 72 73 61 6c  Win32s Universal
e280: 0a 54 68 75 6e 6b 20 68 65 61 64 65 72 20 66 69  .Thunk header fi
e290: 6c 65 2c 20 73 69 6e 63 65 20 69 74 20 69 73 20  le, since it is 
e2a0: 6e 6f 74 20 62 75 6e 64 6c 65 64 20 77 69 74 68  not bundled with
e2b0: 20 56 43 2b 2b 2e 20 28 53 53 29 0a 0a 39 2f 32   VC++. (SS)..9/2
e2c0: 38 2f 39 35 20 28 62 75 67 20 66 69 78 29 20 55  8/95 (bug fix) U
e2d0: 6e 64 65 72 20 57 69 6e 64 6f 77 73 2c 20 54 63  nder Windows, Tc
e2e0: 6c 20 6e 6f 77 20 63 6f 6e 73 74 72 75 63 74 73  l now constructs
e2f0: 20 74 68 65 20 48 4f 4d 45 0a 65 6e 76 69 72 6f   the HOME.enviro
e300: 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 66  nment variable f
e310: 72 6f 6d 20 48 4f 4d 45 50 41 54 48 20 61 6e 64  rom HOMEPATH and
e320: 20 48 4f 4d 45 44 52 49 56 45 20 77 68 65 6e 20   HOMEDRIVE when 
e330: 48 4f 4d 45 20 69 73 20 6e 6f 74 0a 61 6c 72 65  HOME is not.alre
e340: 61 64 79 20 73 65 74 2e 20 28 53 53 29 0a 0a 39  ady set. (SS)..9
e350: 2f 32 38 2f 39 35 20 28 62 75 67 20 66 69 78 29  /28/95 (bug fix)
e360: 20 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66   Added support f
e370: 6f 72 20 22 69 6e 66 6f 20 6e 61 6d 65 6f 66 65  or "info nameofe
e380: 78 65 63 75 74 61 62 6c 65 22 20 61 6e 64 20 22  xecutable" and "
e390: 69 6e 66 6f 0a 73 68 61 72 65 64 6c 69 62 65 78  info.sharedlibex
e3a0: 74 65 6e 73 69 6f 6e 22 20 74 6f 20 74 68 65 20  tension" to the 
e3b0: 57 69 6e 64 6f 77 73 20 76 65 72 73 69 6f 6e 2e  Windows version.
e3c0: 20 28 53 53 29 0a 0a 39 2f 32 38 2f 39 35 20 28   (SS)..9/28/95 (
e3d0: 62 75 67 20 66 69 78 29 20 43 68 61 6e 67 65 64  bug fix) Changed
e3e0: 20 74 63 6c 73 68 20 74 6f 20 63 6f 72 72 65 63   tclsh to correc
e3f0: 74 6c 79 20 70 61 72 73 65 20 63 6f 6d 6d 61 6e  tly parse comman
e400: 64 20 6c 69 6e 65 0a 61 72 67 75 6d 65 6e 74 73  d line.arguments
e410: 20 73 6f 20 74 68 61 74 20 62 61 63 6b 73 6c 61   so that backsla
e420: 73 68 65 73 20 61 72 65 20 70 72 65 73 65 72 76  shes are preserv
e430: 65 64 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 73  ed under Windows
e440: 2e 20 28 53 53 29 0a 0a 39 2f 32 39 2f 39 35 20  . (SS)..9/29/95 
e450: 28 62 75 67 20 66 69 78 29 20 54 63 6c 20 37 2e  (bug fix) Tcl 7.
e460: 35 61 31 20 74 72 65 61 74 65 64 20 65 69 74 68  5a1 treated eith
e470: 65 72 20 72 65 74 75 72 6e 20 6f 72 20 6e 65 77  er return or new
e480: 6c 69 6e 65 20 61 73 20 65 6e 64 0a 6f 66 20 6c  line as end.of l
e490: 69 6e 65 20 69 6e 20 22 67 65 74 73 22 2c 20 77  ine in "gets", w
e4a0: 68 69 63 68 20 63 61 75 73 65 64 20 6c 69 6e 65  hich caused line
e4b0: 73 20 65 6e 64 69 6e 67 20 69 6e 20 43 52 4c 46  s ending in CRLF
e4c0: 20 74 6f 20 62 65 20 74 72 65 61 74 65 64 20 61   to be treated a
e4d0: 73 0a 74 77 6f 20 73 65 70 61 72 61 74 65 20 6c  s.two separate l
e4e0: 69 6e 65 73 2e 20 20 43 68 61 6e 67 65 64 20 74  ines.  Changed t
e4f0: 6f 20 61 6c 6c 6f 77 20 6f 6e 6c 79 20 63 68 61  o allow only cha
e500: 72 61 63 74 65 72 20 61 73 20 65 6e 64 2d 6f 66  racter as end-of
e510: 2d 6c 69 6e 65 3a 0a 63 61 72 72 69 61 67 65 20  -line:.carriage 
e520: 72 65 74 75 72 6e 20 6f 6e 20 4d 61 63 73 2c 20  return on Macs, 
e530: 6e 65 77 6c 69 6e 65 20 65 6c 73 65 77 68 65 72  newline elsewher
e540: 65 2e 20 28 4a 4f 29 0a 0a 39 2f 32 39 2f 39 35  e. (JO)..9/29/95
e550: 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 43   (new feature) C
e560: 68 61 6e 67 65 64 20 74 6f 20 69 6e 73 74 61 6c  hanged to instal
e570: 6c 20 22 63 6f 6e 66 69 67 49 6e 66 6f 22 20 66  l "configInfo" f
e580: 69 6c 65 20 69 6e 20 73 61 6d 65 0a 64 69 72 65  ile in same.dire
e590: 63 74 6f 72 79 20 61 73 20 6c 69 62 72 61 72 79  ctory as library
e5a0: 20 73 63 72 69 70 74 73 2e 20 20 49 74 20 64 69   scripts.  It di
e5b0: 64 6e 27 74 20 75 73 65 64 20 74 6f 20 67 65 74  dn't used to get
e5c0: 20 69 6e 73 74 61 6c 6c 65 64 2e 20 28 4a 4f 29   installed. (JO)
e5d0: 0a 0a 39 2f 32 39 2f 39 35 20 28 62 75 67 20 66  ..9/29/95 (bug f
e5e0: 69 78 29 20 54 63 6c 20 77 61 73 20 6e 6f 74 20  ix) Tcl was not 
e5f0: 63 6f 6e 76 65 72 74 69 6e 67 20 57 69 6e 33 32  converting Win32
e600: 20 65 72 72 6f 72 73 20 69 6e 74 6f 20 50 4f 53   errors into POS
e610: 49 58 0a 65 72 72 6f 72 73 20 75 6e 64 65 72 20  IX.errors under 
e620: 73 6f 6d 65 20 63 69 72 63 75 6d 73 74 61 6e 63  some circumstanc
e630: 65 73 2e 20 28 53 53 29 0a 0a 31 30 2f 32 2f 39  es. (SS)..10/2/9
e640: 35 20 28 62 75 67 20 66 69 78 29 20 53 61 66 65  5 (bug fix) Safe
e650: 20 69 6e 74 65 72 70 72 65 74 65 72 73 20 6e 6f   interpreters no
e660: 20 6c 6f 6e 67 65 72 20 67 65 74 20 69 6e 69 74   longer get init
e670: 69 61 6c 69 7a 65 64 20 77 69 74 68 0a 61 20 63  ialized with.a c
e680: 61 6c 6c 20 74 6f 20 54 63 6c 5f 49 6e 69 74 28  all to Tcl_Init(
e690: 29 2e 20 28 4a 4c 29 0a 0a 31 30 2f 31 2f 39 35  ). (JL)..10/1/95
e6a0: 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41   (new feature) A
e6b0: 64 64 65 64 20 22 74 63 6c 5f 70 6c 61 74 66 6f  dded "tcl_platfo
e6c0: 72 6d 22 20 67 6c 6f 62 61 6c 20 76 61 72 69 61  rm" global varia
e6d0: 62 6c 65 20 74 6f 20 70 72 6f 76 69 64 65 0a 65  ble to provide.e
e6e0: 6e 76 69 72 6f 6e 6d 65 6e 74 20 69 6e 66 6f 72  nvironment infor
e6f0: 6d 61 74 69 6f 6e 20 73 75 63 68 20 61 73 20 74  mation such as t
e700: 68 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 73  he instruction s
e710: 65 74 20 61 6e 64 20 6f 70 65 72 61 74 69 6e 67  et and operating
e720: 0a 73 79 73 74 65 6d 2e 20 28 4a 4f 29 0a 0a 31  .system. (JO)..1
e730: 30 2f 31 2f 39 35 20 28 62 75 67 20 66 69 78 29  0/1/95 (bug fix)
e740: 20 22 65 78 65 63 22 20 63 6f 6d 6d 61 6e 64 20   "exec" command 
e750: 77 61 73 6e 27 74 20 61 6c 77 61 79 73 20 67 65  wasn't always ge
e760: 6e 65 72 61 74 69 6e 67 20 74 68 65 0a 22 63 68  nerating the."ch
e770: 69 6c 64 20 70 72 6f 63 65 73 73 20 65 78 69 74  ild process exit
e780: 65 64 20 61 62 6e 6f 72 6d 61 6c 6c 79 22 20 6d  ed abnormally" m
e790: 65 73 73 61 67 65 20 77 68 65 6e 20 69 74 20 73  essage when it s
e7a0: 68 6f 75 6c 64 20 68 61 76 65 2e 20 20 28 4a 4f  hould have.  (JO
e7b0: 29 0a 0a 31 30 2f 32 2f 39 35 20 28 62 75 67 20  )..10/2/95 (bug 
e7c0: 66 69 78 29 20 43 68 61 6e 67 65 64 20 22 6d 6b  fix) Changed "mk
e7d0: 4c 69 6e 6b 73 2e 74 63 6c 22 20 73 6f 20 74 68  Links.tcl" so th
e7e0: 61 74 20 74 68 65 20 73 63 72 69 70 74 73 20 69  at the scripts i
e7f0: 74 20 67 65 6e 65 72 61 74 65 73 0a 77 6f 6e 27  t generates.won'
e800: 74 20 63 72 65 61 74 65 20 6c 69 6e 6b 73 20 74  t create links t
e810: 68 61 74 20 6f 76 65 72 77 72 69 74 65 20 6f 72  hat overwrite or
e820: 69 67 69 6e 61 6c 20 6d 61 6e 75 61 6c 20 65 6e  iginal manual en
e830: 74 72 69 65 73 20 28 74 68 65 72 65 20 77 61 73  tries (there was
e840: 0a 61 20 70 72 6f 62 6c 65 6d 20 77 68 65 72 65  .a problem where
e850: 20 70 61 63 6b 2d 6f 6c 64 2e 6e 20 77 61 73 20   pack-old.n was 
e860: 6f 76 65 72 77 72 69 74 69 6e 67 20 70 61 63 6b  overwriting pack
e870: 2e 6e 29 2e 20 20 28 4a 4f 29 0a 0a 31 30 2f 32  .n).  (JO)..10/2
e880: 2f 39 35 20 28 66 65 61 74 75 72 65 20 63 68 61  /95 (feature cha
e890: 6e 67 65 29 20 43 68 61 6e 67 65 64 20 74 6f 20  nge) Changed to 
e8a0: 75 73 65 20 2d 6c 64 6c 20 66 6f 72 20 64 79 6e  use -ldl for dyn
e8b0: 61 6d 69 63 20 6c 6f 61 64 69 6e 67 20 75 6e 64  amic loading und
e8c0: 65 72 0a 4c 69 6e 75 78 20 69 66 20 69 74 20 69  er.Linux if it i
e8d0: 73 20 61 76 61 69 6c 61 62 6c 65 2c 20 62 75 74  s available, but
e8e0: 20 66 61 6c 6c 20 62 61 63 6b 20 74 6f 20 2d 6c   fall back to -l
e8f0: 64 6c 64 20 69 66 20 69 74 20 69 73 6e 27 74 2e  dld if it isn't.
e900: 20 20 28 4a 4f 29 0a 0a 31 30 2f 32 2f 39 35 20    (JO)..10/2/95 
e910: 28 62 75 67 20 66 69 78 29 20 46 69 6c 65 20 73  (bug fix) File s
e920: 68 61 72 69 6e 67 20 77 61 73 20 63 61 75 73 69  haring was causi
e930: 6e 67 20 72 65 66 63 6f 75 6e 74 73 20 74 6f 20  ng refcounts to 
e940: 72 65 61 63 68 20 30 0a 70 72 65 6d 61 74 75 72  reach 0.prematur
e950: 65 6c 79 20 66 6f 72 20 73 74 64 69 6e 2c 20 73  ely for stdin, s
e960: 74 64 6f 75 74 20 61 6e 64 20 73 74 64 65 72 72  tdout and stderr
e970: 2c 20 75 6e 64 65 72 20 73 6f 6d 65 20 63 69 72  , under some cir
e980: 63 75 6d 73 74 61 6e 63 65 73 2e 20 28 4a 4c 29  cumstances. (JL)
e990: 0a 0a 31 30 2f 32 2f 39 35 20 28 70 6c 61 74 66  ..10/2/95 (platf
e9a0: 6f 72 6d 20 73 75 70 70 6f 72 74 29 20 41 64 64  orm support) Add
e9b0: 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 56  ed support for V
e9c0: 69 73 75 61 6c 20 43 2b 2b 20 63 6f 6d 70 69 6c  isual C++ compil
e9d0: 65 72 20 6f 6e 0a 57 69 6e 64 6f 77 73 2c 20 57  er on.Windows, W
e9e0: 69 6e 64 6f 77 73 20 27 39 35 20 61 6e 64 20 57  indows '95 and W
e9f0: 69 6e 64 6f 77 73 20 4e 54 2c 20 63 6f 64 65 20  indows NT, code 
ea00: 64 6f 6e 61 74 65 64 20 62 79 20 47 6f 72 64 6f  donated by Gordo
ea10: 6e 20 43 68 61 66 66 65 65 2e 20 28 4a 4c 29 0a  n Chaffee. (JL).
ea20: 0a 31 30 2f 33 2f 39 35 20 28 62 75 67 20 66 69  .10/3/95 (bug fi
ea30: 78 29 20 54 63 6c 20 6e 6f 77 20 66 72 65 65 73  x) Tcl now frees
ea40: 20 61 6e 79 20 6c 69 62 72 61 72 69 65 73 20 74   any libraries t
ea50: 68 61 74 20 69 74 20 6c 6f 61 64 73 20 62 65 66  hat it loads bef
ea60: 6f 72 65 20 69 74 0a 65 78 69 74 73 2e 20 28 53  ore it.exits. (S
ea70: 53 29 0a 0a 31 30 2f 30 33 2f 39 35 20 28 62 75  S)..10/03/95 (bu
ea80: 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67  g fix) Fixed bug
ea90: 20 69 6e 20 4d 61 63 69 6e 74 6f 73 68 20 6c 73   in Macintosh ls
eaa0: 20 63 6f 6d 6d 61 6e 64 20 77 68 65 72 65 20 74   command where t
eab0: 68 65 20 2d 6c 0a 61 6e 64 20 2d 43 20 6f 70 74  he -l.and -C opt
eac0: 69 6f 6e 73 20 77 6f 75 6c 64 20 66 61 69 6c 20  ions would fail 
ead0: 69 6e 20 61 6e 79 74 68 69 6e 67 20 62 75 74 20  in anything but 
eae0: 74 68 65 20 48 4f 4d 45 20 64 69 72 65 63 74 6f  the HOME directo
eaf0: 72 79 2e 20 28 52 4a 29 0a 0a 2d 2d 2d 2d 2d 2d  ry. (RJ)..------
eb00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65  ----------- Rele
eb10: 61 73 65 64 20 37 2e 35 61 32 2c 20 31 30 2f 36  ased 7.5a2, 10/6
eb20: 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  /95 ------------
eb30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 30 2f  -----------..10/
eb40: 31 30 2f 39 35 20 28 62 75 67 20 66 69 78 29 20  10/95 (bug fix) 
eb50: 22 66 69 6c 65 20 64 69 72 6e 61 6d 20 2f 2e 22  "file dirnam /."
eb60: 20 77 61 73 20 72 65 74 75 72 6e 69 6e 67 20 22   was returning "
eb70: 3a 22 20 6f 6e 20 55 4e 49 58 20 69 6e 73 74 65  :" on UNIX inste
eb80: 61 64 0a 6f 66 20 22 2f 22 2e 20 28 4a 4f 29 0a  ad.of "/". (JO).
eb90: 0a 31 30 2f 31 33 2f 39 35 20 28 62 75 67 20 66  .10/13/95 (bug f
eba0: 69 78 29 20 45 6c 69 6d 69 6e 61 74 65 64 20 64  ix) Eliminated d
ebb0: 65 70 65 6e 64 65 6e 63 79 20 6f 6e 20 4d 4b 53  ependency on MKS
ebc0: 20 74 6f 6f 6c 6b 69 74 20 66 6f 72 20 67 65 6e   toolkit for gen
ebd0: 65 72 61 74 69 6e 67 0a 74 68 65 20 74 63 6c 2e  erating.the tcl.
ebe0: 64 65 66 20 66 69 6c 65 20 66 72 6f 6d 20 42 6f  def file from Bo
ebf0: 72 6c 61 6e 64 20 6f 62 6a 65 63 74 20 66 69 6c  rland object fil
ec00: 65 73 2e 20 28 53 53 29 0a 0a 31 30 2f 31 37 2f  es. (SS)..10/17/
ec10: 39 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 73  95 (new features
ec20: 29 20 4d 6f 76 65 64 20 74 68 65 20 65 76 65 6e  ) Moved the even
ec30: 74 20 6c 6f 6f 70 20 66 72 6f 6d 20 54 63 6c 20  t loop from Tcl 
ec40: 74 6f 20 54 6b 2c 20 6d 61 64 65 20 6d 61 6a 6f  to Tk, made majo
ec50: 72 0a 72 65 76 69 73 69 6f 6e 73 20 61 6c 6f 6e  r.revisions alon
ec60: 67 20 74 68 65 20 77 61 79 3a 0a 20 20 20 20 2d  g the way:.    -
ec70: 20 4e 65 77 20 54 63 6c 20 63 6f 6d 6d 61 6e 64   New Tcl command
ec80: 73 3a 20 20 61 66 74 65 72 2c 20 75 70 64 61 74  s:  after, updat
ec90: 65 2c 20 76 77 61 69 74 20 28 72 65 70 6c 61 63  e, vwait (replac
eca0: 65 73 20 22 74 6b 77 61 69 74 20 76 61 72 69 61  es "tkwait varia
ecb0: 62 6c 65 22 29 2e 0a 20 20 20 20 2d 20 22 74 6b  ble")..    - "tk
ecc0: 65 72 72 6f 72 22 20 69 73 20 6e 6f 77 20 72 65  error" is now re
ecd0: 70 6c 61 63 65 64 20 77 69 74 68 20 22 62 67 65  placed with "bge
ece0: 72 72 6f 72 22 2e 0a 20 20 20 20 2d 20 54 68 65  rror"..    - The
ecf0: 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 72 6f 63 65   following proce
ed00: 64 75 72 65 73 20 61 72 65 20 73 69 6d 69 6c 61  dures are simila
ed10: 72 20 74 6f 20 74 68 65 69 72 20 6f 6c 64 20 54  r to their old T
ed20: 6b 20 63 6f 75 6e 74 65 72 70 61 72 74 73 3a 0a  k counterparts:.
ed30: 20 20 20 20 20 20 54 63 6c 5f 44 6f 4f 6e 65 45        Tcl_DoOneE
ed40: 76 65 6e 74 2c 20 54 63 6c 5f 53 6c 65 65 70 2c  vent, Tcl_Sleep,
ed50: 20 54 63 6c 5f 44 6f 57 68 65 6e 49 64 6c 65 2c   Tcl_DoWhenIdle,
ed60: 20 54 63 6c 5f 43 61 6e 63 65 6c 49 64 6c 65 43   Tcl_CancelIdleC
ed70: 61 6c 6c 2c 0a 20 20 20 20 20 20 54 63 6c 5f 43  all,.      Tcl_C
ed80: 72 65 61 74 65 46 69 6c 65 48 61 6e 64 6c 65 72  reateFileHandler
ed90: 2c 20 54 63 6c 5f 44 65 6c 65 74 65 46 69 6c 65  , Tcl_DeleteFile
eda0: 48 61 6e 64 6c 65 72 2c 20 54 63 6c 5f 43 72 65  Handler, Tcl_Cre
edb0: 61 74 65 54 69 6d 65 72 48 61 6e 64 6c 65 72 2c  ateTimerHandler,
edc0: 0a 20 20 20 20 20 20 54 63 6c 5f 44 65 6c 65 74  .      Tcl_Delet
edd0: 65 54 69 6d 65 72 48 61 6e 64 6c 65 72 2c 20 54  eTimerHandler, T
ede0: 63 6c 5f 42 61 63 6b 67 72 6f 75 6e 64 45 72 72  cl_BackgroundErr
edf0: 6f 72 2e 0a 20 20 20 20 2d 20 52 65 76 69 73 65  or..    - Revise
ee00: 64 20 6e 6f 74 69 66 69 65 72 2c 20 61 64 64 20  d notifier, add 
ee10: 6e 65 77 20 63 6f 6e 63 65 70 74 20 6f 66 20 22  new concept of "
ee20: 65 76 65 6e 74 20 73 6f 75 72 63 65 22 20 77 69  event source" wi
ee30: 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  th the following
ee40: 0a 20 20 20 20 20 20 70 72 6f 63 65 64 75 72 65  .      procedure
ee50: 73 3a 20 20 54 63 6c 5f 43 72 65 61 74 65 45 76  s:  Tcl_CreateEv
ee60: 65 6e 74 53 6f 75 72 63 65 2c 20 54 63 6c 5f 44  entSource, Tcl_D
ee70: 65 6c 65 74 65 45 76 65 6e 74 53 6f 75 72 63 65  eleteEventSource
ee80: 2c 0a 20 20 20 20 20 20 54 63 6c 5f 57 61 74 63  ,.      Tcl_Watc
ee90: 68 46 69 6c 65 2c 20 54 63 6c 5f 53 65 74 4d 61  hFile, Tcl_SetMa
eea0: 78 42 6c 6f 63 6b 54 69 6d 65 2c 20 54 63 6c 5f  xBlockTime, Tcl_
eeb0: 46 69 6c 65 52 65 61 64 79 2c 20 54 63 6c 5f 51  FileReady, Tcl_Q
eec0: 75 65 75 65 45 76 65 6e 74 2c 0a 20 20 20 20 20  ueueEvent,.     
eed0: 20 54 63 6c 5f 57 61 69 74 46 6f 72 45 76 65 6e   Tcl_WaitForEven
eee0: 74 2e 20 28 4a 4f 29 0a 0a 31 30 2f 33 31 2f 39  t. (JO)..10/31/9
eef0: 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 73 29  5 (new features)
ef00: 20 49 6d 70 6c 65 6d 65 6e 74 65 64 20 63 72 6f   Implemented cro
ef10: 73 73 20 70 6c 61 74 66 6f 72 6d 20 66 69 6c 65  ss platform file
ef20: 20 6e 61 6d 65 20 73 75 70 70 6f 72 74 20 74 6f   name support to
ef30: 20 6d 61 6b 65 0a 69 74 20 65 61 73 69 65 72 20   make.it easier 
ef40: 74 6f 20 77 72 69 74 65 20 63 72 6f 73 73 20 70  to write cross p
ef50: 6c 61 74 66 6f 72 6d 20 73 63 72 69 70 74 73 2e  latform scripts.
ef60: 20 20 54 63 6c 20 6e 6f 77 20 75 6e 64 65 72 73    Tcl now unders
ef70: 74 61 6e 64 73 20 34 20 66 69 6c 65 20 6e 61 6d  tands 4 file nam
ef80: 69 6e 67 0a 63 6f 6e 76 65 6e 74 69 6f 6e 73 3a  ing.conventions:
ef90: 20 57 69 6e 64 6f 77 73 20 28 62 6f 74 68 20 44   Windows (both D
efa0: 4f 53 20 61 6e 64 20 55 4e 43 29 2c 20 4d 61 63  OS and UNC), Mac
efb0: 2c 20 55 6e 69 78 2c 20 61 6e 64 20 4e 65 74 77  , Unix, and Netw
efc0: 6f 72 6b 2e 20 20 54 68 65 20 6e 65 74 77 6f 72  ork.  The networ
efd0: 6b 0a 63 6f 6e 76 65 6e 74 69 6f 6e 20 69 73 20  k.convention is 
efe0: 61 20 6e 65 77 20 6e 61 6d 69 6e 67 20 6d 65 63  a new naming mec
eff0: 68 61 6e 69 73 6d 20 74 68 61 74 20 63 61 6e 20  hanism that can 
f000: 62 65 20 75 73 65 64 20 74 6f 20 70 61 74 68 73  be used to paths
f010: 20 69 6e 20 61 20 70 6c 61 74 66 6f 72 6d 0a 69   in a platform.i
f020: 6e 64 65 70 65 6e 64 65 6e 74 20 66 61 73 68 69  ndependent fashi
f030: 6f 6e 2e 20 20 53 65 65 20 74 68 65 20 22 66 69  on.  See the "fi
f040: 6c 65 22 20 63 6f 6d 6d 61 6e 64 20 6d 61 6e 75  le" command manu
f050: 61 6c 20 70 61 67 65 20 66 6f 72 20 6d 6f 72 65  al page for more
f060: 20 64 65 74 61 69 6c 73 2e 0a 54 68 65 20 70 72   details..The pr
f070: 69 6d 61 72 79 20 69 6e 74 65 72 66 61 63 65 73  imary interfaces
f080: 20 63 68 61 6e 67 65 73 20 61 72 65 3a 0a 20 20   changes are:.  
f090: 20 20 2d 20 41 6c 6c 20 54 63 6c 20 63 6f 6d 6d    - All Tcl comm
f0a0: 61 6e 64 73 20 74 68 61 74 20 65 78 70 65 63 74  ands that expect
f0b0: 20 61 20 66 69 6c 65 20 6e 61 6d 65 20 6e 6f 77   a file name now
f0c0: 20 61 63 63 65 70 74 20 62 6f 74 68 20 6e 65 74   accept both net
f0d0: 77 6f 72 6b 20 61 6e 64 0a 20 20 20 20 20 20 6e  work and.      n
f0e0: 61 74 69 76 65 20 66 6f 72 6d 2e 0a 20 20 20 20  ative form..    
f0f0: 2d 20 54 77 6f 20 6e 65 77 20 22 66 69 6c 65 22  - Two new "file"
f100: 20 73 75 62 63 6f 6d 6d 61 6e 64 73 2c 20 22 6e   subcommands, "n
f110: 61 74 69 76 65 6e 61 6d 65 22 20 61 6e 64 20 22  ativename" and "
f120: 6e 65 74 77 6f 72 6b 6e 61 6d 65 22 2c 20 70 72  networkname", pr
f130: 6f 76 69 64 65 20 61 0a 20 20 20 20 20 20 77 61  ovide a.      wa
f140: 79 20 74 6f 20 63 6f 6e 76 65 72 74 20 62 65 74  y to convert bet
f150: 77 65 65 6e 20 6e 65 74 77 6f 72 6b 20 61 6e 64  ween network and
f160: 20 6e 61 74 69 76 65 20 66 6f 72 6d 2e 0a 20 20   native form..  
f170: 20 20 2d 20 52 65 6e 61 6d 65 64 20 54 63 6c 5f    - Renamed Tcl_
f180: 54 69 6c 64 65 53 75 62 73 74 20 74 6f 20 54 63  TildeSubst to Tc
f190: 6c 5f 54 72 61 6e 73 6c 61 74 65 46 69 6c 65 4e  l_TranslateFileN
f1a0: 61 6d 65 2c 20 61 6e 64 20 63 68 61 6e 67 65 64  ame, and changed
f1b0: 20 69 74 20 73 6f 20 74 68 61 74 0a 20 20 20 20   it so that.    
f1c0: 20 20 69 74 20 61 6c 77 61 79 73 20 72 65 74 75    it always retu
f1d0: 72 6e 73 20 61 20 66 69 6c 65 6e 61 6d 65 20 69  rns a filename i
f1e0: 6e 20 6e 61 74 69 76 65 20 66 6f 72 6d 2e 20 20  n native form.  
f1f0: 54 63 6c 5f 54 69 6c 64 65 53 75 62 73 74 20 69  Tcl_TildeSubst i
f200: 73 20 64 65 66 69 6e 65 64 0a 20 20 20 20 20 20  s defined.      
f210: 61 73 20 61 20 6d 61 63 72 6f 20 66 6f 72 20 62  as a macro for b
f220: 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62  ackward compatib
f230: 69 6c 69 74 79 2c 20 62 75 74 20 69 74 20 69 73  ility, but it is
f240: 20 64 65 70 72 65 63 61 74 65 64 2e 20 28 53 53   deprecated. (SS
f250: 29 0a 0a 31 31 2f 35 2f 39 35 20 28 6e 65 77 20  )..11/5/95 (new 
f260: 66 65 61 74 75 72 65 29 20 4d 61 64 65 20 22 74  feature) Made "t
f270: 6b 65 72 72 6f 72 22 20 61 6e 64 20 22 62 67 65  kerror" and "bge
f280: 72 72 6f 72 22 20 73 79 6e 6f 6e 79 6d 73 2c 20  rror" synonyms, 
f290: 73 6f 20 74 68 61 74 0a 65 69 74 68 65 72 20 6e  so that.either n
f2a0: 61 6d 65 20 63 61 6e 20 62 65 20 75 73 65 64 20  ame can be used 
f2b0: 74 6f 20 6d 61 6e 69 70 75 6c 61 74 65 20 74 68  to manipulate th
f2c0: 65 20 63 6f 6d 6d 61 6e 64 20 28 70 72 6f 76 69  e command (provi
f2d0: 64 65 73 20 74 65 6d 70 6f 72 61 72 79 0a 62 61  des temporary.ba
f2e0: 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69  ckward compatibi
f2f0: 6c 69 74 79 20 66 6f 72 20 65 78 69 73 74 69 6e  lity for existin
f300: 67 20 73 63 72 69 70 74 73 20 74 68 61 74 20 75  g scripts that u
f310: 73 65 20 74 6b 65 72 72 6f 72 29 2e 20 28 4a 4f  se tkerror). (JO
f320: 29 0a 0a 31 31 2f 35 2f 39 35 20 28 6e 65 77 20  )..11/5/95 (new 
f330: 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 65  feature) Added e
f340: 78 69 74 20 68 61 6e 64 6c 65 72 73 20 61 6e 64  xit handlers and
f350: 20 6e 65 77 20 43 20 70 72 6f 63 65 64 75 72 65   new C procedure
f360: 73 0a 54 63 6c 5f 43 72 65 61 74 65 45 78 69 74  s.Tcl_CreateExit
f370: 48 61 6e 64 6c 65 72 2c 20 54 63 6c 5f 44 65 6c  Handler, Tcl_Del
f380: 65 74 65 45 78 69 74 48 61 6e 64 6c 65 72 2c 20  eteExitHandler, 
f390: 61 6e 64 20 54 63 6c 5f 45 78 69 74 2e 20 28 4a  and Tcl_Exit. (J
f3a0: 4f 29 0a 0a 31 31 2f 36 2f 39 35 20 28 6e 65 77  O)..11/6/95 (new
f3b0: 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20   feature) Added 
f3c0: 70 69 64 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20  pid command for 
f3d0: 4d 61 63 69 6e 74 6f 73 68 20 76 65 72 73 69 6f  Macintosh versio
f3e0: 6e 20 6f 66 0a 54 63 6c 20 28 69 74 20 64 69 64  n of.Tcl (it did
f3f0: 6e 27 74 20 70 72 65 76 69 6f 75 73 6c 79 20 65  n't previously e
f400: 78 69 73 74 20 6f 6e 20 74 68 65 20 4d 61 63 29  xist on the Mac)
f410: 2e 20 28 52 4a 29 0a 0a 31 31 2f 37 2f 39 35 20  . (RJ)..11/7/95 
f420: 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 4e 65  (new feature) Ne
f430: 77 20 67 65 6e 65 72 69 63 20 49 4f 20 66 61 63  w generic IO fac
f440: 69 6c 69 74 79 20 61 6e 64 20 73 75 70 70 6f 72  ility and suppor
f450: 74 20 66 6f 72 20 49 4f 20 74 6f 0a 66 69 6c 65  t for IO to.file
f460: 73 2c 20 70 69 70 65 73 20 61 6e 64 20 73 6f 63  s, pipes and soc
f470: 6b 65 74 73 20 62 61 73 65 64 20 6f 6e 20 61 20  kets based on a 
f480: 63 6f 6d 6d 6f 6e 20 62 75 66 66 65 72 69 6e 67  common buffering
f490: 20 73 63 68 65 6d 65 2e 20 53 75 70 70 6f 72 74   scheme. Support
f4a0: 0a 66 6f 72 20 61 73 79 6e 63 68 72 6f 6e 6f 75  .for asynchronou
f4b0: 73 20 28 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e 67 29  s (non-blocking)
f4c0: 20 49 4f 20 61 6e 64 20 66 6f 72 20 65 76 65 6e   IO and for even
f4d0: 74 20 64 72 69 76 65 72 20 49 4f 2e 20 53 75 70  t driver IO. Sup
f4e0: 70 6f 72 74 0a 66 6f 72 20 61 75 74 6f 6d 61 74  port.for automat
f4f0: 69 63 20 28 62 61 63 6b 67 72 6f 75 6e 64 29 20  ic (background) 
f500: 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 66 6c 75  asynchronous flu
f510: 73 68 69 6e 67 20 61 6e 64 20 61 73 79 6e 63 68  shing and asynch
f520: 72 6f 6e 6f 75 73 0a 63 6c 6f 73 69 6e 67 20 6f  ronous.closing o
f530: 66 20 63 68 61 6e 6e 65 6c 73 2e 20 28 4a 4c 29  f channels. (JL)
f540: 0a 0a 31 31 2f 37 2f 39 35 20 28 6e 65 77 20 66  ..11/7/95 (new f
f550: 65 61 74 75 72 65 29 20 20 41 64 64 65 64 20 6e  eature)  Added n
f560: 65 77 20 63 6f 6d 6d 61 6e 64 73 20 22 66 63 6f  ew commands "fco
f570: 6e 66 69 67 75 72 65 22 20 61 6e 64 20 22 66 62  nfigure" and "fb
f580: 6c 6f 63 6b 65 64 22 0a 74 6f 20 73 75 70 70 6f  locked".to suppo
f590: 72 74 20 6e 65 77 20 49 2f 4f 20 66 65 61 74 75  rt new I/O featu
f5a0: 72 65 73 20 73 75 63 68 20 61 73 20 6e 6f 6e 62  res such as nonb
f5b0: 6c 6f 63 6b 69 6e 67 20 49 2f 4f 2e 20 20 41 64  locking I/O.  Ad
f5c0: 64 65 64 20 22 73 6f 63 6b 65 74 22 0a 63 6f 6d  ded "socket".com
f5d0: 6d 61 6e 64 20 66 6f 72 20 63 72 65 61 74 69 6e  mand for creatin
f5e0: 67 20 54 43 50 20 63 6c 69 65 6e 74 20 61 6e 64  g TCP client and
f5f0: 20 73 65 72 76 65 72 20 73 6f 63 6b 65 74 73 2e   server sockets.
f600: 20 28 4a 4c 29 2e 0a 0a 31 31 2f 37 2f 39 35 20   (JL)...11/7/95 
f610: 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 43 6f  (new feature) Co
f620: 6d 70 6c 65 74 65 20 73 65 74 20 6f 66 20 43 20  mplete set of C 
f630: 41 50 49 73 20 74 6f 20 74 68 65 20 6e 65 77 20  APIs to the new 
f640: 67 65 6e 65 72 69 63 20 49 4f 0a 66 61 63 69 6c  generic IO.facil
f650: 69 74 79 3a 0a 20 20 20 20 2d 20 4f 70 65 6e 69  ity:.    - Openi
f660: 6e 67 20 63 68 61 6e 6e 65 6c 73 3a 20 54 63 6c  ng channels: Tcl
f670: 5f 4f 70 65 6e 46 69 6c 65 43 68 61 6e 6e 65 6c  _OpenFileChannel
f680: 2c 20 54 63 6c 5f 4f 70 65 6e 43 6f 6d 6d 61 6e  , Tcl_OpenComman
f690: 64 43 68 61 6e 6e 65 6c 2c 0a 20 20 20 20 20 20  dChannel,.      
f6a0: 54 63 6c 5f 4f 70 65 6e 54 63 70 43 6c 69 65 6e  Tcl_OpenTcpClien
f6b0: 74 2c 20 54 63 6c 5f 4f 70 65 6e 54 63 70 53 65  t, Tcl_OpenTcpSe
f6c0: 72 76 65 72 2e 0a 20 20 20 20 2d 20 49 2f 4f 20  rver..    - I/O 
f6d0: 70 72 6f 63 65 64 75 72 65 73 20 6f 6e 20 63 68  procedures on ch
f6e0: 61 6e 6e 65 6c 73 2c 20 77 68 69 63 68 20 72 6f  annels, which ro
f6f0: 75 67 68 6c 79 20 6d 69 72 72 6f 72 20 74 68 65  ughly mirror the
f700: 20 41 4e 53 49 20 43 20 73 74 64 69 6f 0a 20 20   ANSI C stdio.  
f710: 20 20 20 20 6c 69 62 72 61 72 79 3a 20 20 54 63      library:  Tc
f720: 6c 5f 52 65 61 64 2c 20 54 63 6c 5f 47 65 74 73  l_Read, Tcl_Gets
f730: 2c 20 54 63 6c 5f 57 72 69 74 65 2c 20 54 63 6c  , Tcl_Write, Tcl
f740: 5f 46 6c 75 73 68 2c 20 54 63 6c 5f 53 65 65 6b  _Flush, Tcl_Seek
f750: 2c 0a 20 20 20 20 20 20 54 63 6c 5f 54 65 6c 6c  ,.      Tcl_Tell
f760: 2c 20 54 63 6c 5f 43 6c 6f 73 65 2c 20 54 63 6c  , Tcl_Close, Tcl
f770: 5f 45 6f 66 2c 20 54 63 6c 5f 49 6e 70 75 74 42  _Eof, Tcl_InputB
f780: 6c 6f 63 6b 65 64 2c 20 54 63 6c 5f 47 65 74 43  locked, Tcl_GetC
f790: 68 61 6e 6e 65 6c 4f 70 74 69 6f 6e 2c 0a 20 20  hannelOption,.  
f7a0: 20 20 20 20 54 63 6c 5f 53 65 74 43 68 61 6e 6e      Tcl_SetChann
f7b0: 65 6c 4f 70 74 69 6f 6e 2e 0a 20 20 20 20 2d 20  elOption..    - 
f7c0: 45 78 74 65 6e 73 69 6f 6e 20 6d 65 63 68 61 6e  Extension mechan
f7d0: 69 73 6d 20 66 6f 72 20 63 72 65 61 74 69 6e 67  ism for creating
f7e0: 20 6e 65 77 20 6b 69 6e 64 73 20 6f 66 20 63 68   new kinds of ch
f7f0: 61 6e 6e 65 6c 73 3a 0a 20 20 20 20 20 20 54 63  annels:.      Tc
f800: 6c 5f 43 72 65 61 74 65 43 68 61 6e 6e 65 6c 2c  l_CreateChannel,
f810: 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 49   Tcl_GetChannelI
f820: 6e 73 74 61 6e 63 65 44 61 74 61 2c 20 54 63 6c  nstanceData, Tcl
f830: 5f 47 65 74 43 68 61 6e 6e 65 6c 54 79 70 65 2c  _GetChannelType,
f840: 0a 20 20 20 20 20 20 54 63 6c 5f 47 65 74 43 68  .      Tcl_GetCh
f850: 61 6e 6e 65 6c 4e 61 6d 65 2c 20 54 63 6c 5f 47  annelName, Tcl_G
f860: 65 74 43 68 61 6e 6e 65 6c 46 69 6c 65 2c 20 54  etChannelFile, T
f870: 63 6c 5f 52 65 67 69 73 74 65 72 43 68 61 6e 6e  cl_RegisterChann
f880: 65 6c 2c 0a 20 20 20 20 20 20 54 63 6c 5f 55 6e  el,.      Tcl_Un
f890: 72 65 67 69 73 74 65 72 43 68 61 6e 6e 65 6c 2c  registerChannel,
f8a0: 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 2e   Tcl_GetChannel.
f8b0: 0a 20 20 20 20 2d 20 45 76 65 6e 74 2d 64 72 69  .    - Event-dri
f8c0: 76 65 6e 20 49 2f 4f 20 6f 6e 20 63 68 61 6e 6e  ven I/O on chann
f8d0: 65 6c 73 3a 20 54 63 6c 5f 43 72 65 61 74 65 43  els: Tcl_CreateC
f8e0: 68 61 6e 6e 65 6c 48 61 6e 64 6c 65 72 2c 0a 20  hannelHandler,. 
f8f0: 20 20 20 20 20 54 63 6c 5f 44 65 6c 65 74 65 43       Tcl_DeleteC
f900: 68 61 6e 6e 65 6c 48 61 6e 64 6c 65 72 2e 20 28  hannelHandler. (
f910: 4a 4c 29 0a 0a 31 31 2f 37 2f 39 35 20 28 6e 65  JL)..11/7/95 (ne
f920: 77 20 66 65 61 74 75 72 65 29 20 43 68 61 6e 6e  w feature) Chann
f930: 65 6c 20 64 72 69 76 65 72 20 69 6e 74 65 72 66  el driver interf
f940: 61 63 65 20 73 70 65 63 69 66 69 63 61 74 69 6f  ace specificatio
f950: 6e 20 74 6f 20 61 6c 6c 6f 77 0a 6e 65 77 20 74  n to allow.new t
f960: 79 70 65 73 20 6f 66 20 63 68 61 6e 6e 65 6c 73  ypes of channels
f970: 20 74 6f 20 62 65 20 61 64 64 65 64 20 65 61 73   to be added eas
f980: 69 6c 79 20 74 6f 20 54 63 6c 2e 20 43 75 72 72  ily to Tcl. Curr
f990: 65 6e 74 6c 79 20 62 65 69 6e 67 20 75 73 65 64  ently being used
f9a0: 0a 69 6e 20 74 68 72 65 65 20 64 72 69 76 65 72  .in three driver
f9b0: 73 20 2d 20 66 6f 72 20 66 69 6c 65 73 2c 20 70  s - for files, p
f9c0: 69 70 65 73 20 61 6e 64 20 54 43 50 2d 62 61 73  ipes and TCP-bas
f9d0: 65 64 20 73 6f 63 6b 65 74 73 2e 20 28 4a 4c 29  ed sockets. (JL)
f9e0: 2e 0a 0a 31 31 2f 37 2f 39 35 20 28 6e 65 77 20  ...11/7/95 (new 
f9f0: 66 65 61 74 75 72 65 29 20 69 6e 74 65 72 70 20  feature) interp 
fa00: 64 65 6c 65 74 65 20 6e 6f 77 20 74 61 6b 65 73  delete now takes
fa10: 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 70   any number of p
fa20: 61 74 68 0a 6e 61 6d 65 73 20 6f 66 20 69 6e 74  ath.names of int
fa30: 65 72 70 72 65 74 65 72 73 20 74 6f 20 64 65 6c  erpreters to del
fa40: 65 74 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 7a  ete, including z
fa50: 65 72 6f 2e 20 28 4a 4c 29 2e 0a 0a 31 31 2f 38  ero. (JL)...11/8
fa60: 2f 39 35 20 28 6e 65 77 20 66 65 61 74 75 72 65  /95 (new feature
fa70: 29 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 27 69  ) implemented 'i
fa80: 6e 66 6f 20 68 6f 73 74 6e 61 6d 65 27 20 61 6e  nfo hostname' an
fa90: 64 20 54 63 6c 5f 47 65 74 48 6f 73 74 4e 61 6d  d Tcl_GetHostNam
faa0: 65 0a 63 6f 6d 6d 61 6e 64 20 74 6f 20 67 65 74  e.command to get
fab0: 20 68 6f 73 74 20 6e 61 6d 65 20 6f 66 20 6d 61   host name of ma
fac0: 63 68 69 6e 65 20 6f 6e 20 77 68 69 63 68 20 74  chine on which t
fad0: 68 65 20 54 63 6c 20 70 72 6f 63 65 73 73 20 69  he Tcl process i
fae0: 73 20 72 75 6e 6e 69 6e 67 2e 20 28 4a 4c 29 0a  s running. (JL).
faf0: 0a 31 31 2f 39 2f 39 35 20 28 6e 65 77 20 66 65  .11/9/95 (new fe
fb00: 61 74 75 72 65 29 20 49 6d 70 6c 65 6d 65 6e 74  ature) Implement
fb10: 65 64 20 66 69 6c 65 20 41 50 49 73 20 66 6f 72  ed file APIs for
fb20: 20 61 63 63 65 73 73 20 74 6f 20 6c 6f 77 20 6c   access to low l
fb30: 65 76 65 6c 20 66 69 6c 65 73 0a 6f 6e 20 65 61  evel files.on ea
fb40: 63 68 20 73 79 73 74 65 6d 2e 20 54 68 65 20 41  ch system. The A
fb50: 50 49 73 20 61 72 65 3a 20 54 63 6c 5f 43 6c 6f  PIs are: Tcl_Clo
fb60: 73 65 46 69 6c 65 2c 20 54 63 6c 5f 4f 70 65 6e  seFile, Tcl_Open
fb70: 46 69 6c 65 2c 20 54 63 6c 5f 52 65 61 64 46 69  File, Tcl_ReadFi
fb80: 6c 65 2c 0a 54 63 6c 5f 57 72 69 74 65 46 69 6c  le,.Tcl_WriteFil
fb90: 65 20 61 6e 64 20 54 63 6c 5f 53 65 65 6b 46 69  e and Tcl_SeekFi
fba0: 6c 65 2e 20 41 6c 73 6f 20 69 6d 70 6c 65 6d 65  le. Also impleme
fbb0: 6e 74 65 64 20 54 63 6c 5f 57 61 69 74 50 69 64  nted Tcl_WaitPid
fbc0: 20 77 68 69 63 68 20 77 61 69 74 73 0a 69 6e 20   which waits.in 
fbd0: 61 20 73 79 73 74 65 6d 20 64 65 70 65 6e 64 65  a system depende
fbe0: 6e 74 20 6d 61 6e 6e 65 72 20 66 6f 72 20 61 20  nt manner for a 
fbf0: 63 68 69 6c 64 20 70 72 6f 63 65 73 73 2e 20 28  child process. (
fc00: 4a 4c 29 0a 0a 31 31 2f 39 2f 39 35 20 28 6e 65  JL)..11/9/95 (ne
fc10: 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
fc20: 20 54 63 6c 5f 55 70 64 61 74 65 4c 69 6e 6b 65   Tcl_UpdateLinke
fc30: 64 56 61 72 20 70 72 6f 63 65 64 75 72 65 20 74  dVar procedure t
fc40: 6f 20 66 6f 72 63 65 20 61 0a 54 63 6c 20 76 61  o force a.Tcl va
fc50: 72 69 61 62 6c 65 20 74 6f 20 62 65 20 75 70 64  riable to be upd
fc60: 61 74 65 64 20 61 66 74 65 72 20 69 74 73 20 43  ated after its C
fc70: 20 76 61 72 69 61 62 6c 65 20 63 68 61 6e 67 65   variable change
fc80: 73 2e 20 28 4a 4f 29 0a 0a 31 31 2f 39 2f 39 35  s. (JO)..11/9/95
fc90: 20 28 62 75 67 20 66 69 78 29 20 54 68 65 20 67   (bug fix) The g
fca0: 6c 6f 62 20 63 6f 6d 6d 61 6e 64 20 68 61 73 20  lob command has 
fcb0: 62 65 65 6e 20 74 6f 74 61 6c 6c 79 20 72 65 69  been totally rei
fcc0: 6d 70 6c 65 6d 65 6e 74 65 64 20 73 6f 0a 74 68  mplemented so.th
fcd0: 61 74 20 69 74 20 63 61 6e 20 73 75 70 70 6f 72  at it can suppor
fce0: 74 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65  t different file
fcf0: 20 6e 61 6d 65 20 63 6f 6e 76 65 6e 74 69 6f 6e   name convention
fd00: 73 2e 20 20 49 74 20 6e 6f 77 20 68 61 6e 64 6c  s.  It now handl
fd10: 65 73 0a 57 69 6e 64 6f 77 73 20 66 69 6c 65 20  es.Windows file 
fd20: 6e 61 6d 65 73 20 28 62 6f 74 68 20 55 4e 43 20  names (both UNC 
fd30: 61 6e 64 20 64 72 69 76 65 2d 72 65 6c 61 74 69  and drive-relati
fd40: 76 65 29 20 70 72 6f 70 65 72 6c 79 2e 20 20 49  ve) properly.  I
fd50: 74 20 61 6c 73 6f 0a 73 75 70 70 6f 72 74 73 20  t also.supports 
fd60: 6e 65 73 74 65 64 20 62 72 61 63 65 73 20 63 6f  nested braces co
fd70: 72 72 65 63 74 6c 79 20 6e 6f 77 2e 20 28 53 53  rrectly now. (SS
fd80: 29 0a 0a 31 31 2f 31 33 2f 39 35 20 28 62 75 67  )..11/13/95 (bug
fd90: 20 66 69 78 29 20 46 69 78 65 64 20 4d 61 6b 65   fix) Fixed Make
fda0: 66 69 6c 65 2e 69 6e 20 73 6f 20 74 68 61 74 20  file.in so that 
fdb0: 63 6f 6e 66 69 67 75 72 65 20 63 61 6e 20 62 65  configure can be
fdc0: 20 72 75 6e 0a 66 72 6f 6d 20 61 20 63 6c 65 61   run.from a clea
fdd0: 6e 20 64 69 72 65 63 74 6f 72 79 20 73 65 70 61  n directory sepa
fde0: 72 61 74 65 20 66 72 6f 6d 20 74 68 65 20 54 63  rate from the Tc
fdf0: 6c 20 73 6f 75 72 63 65 20 74 72 65 65 2c 20 61  l source tree, a
fe00: 6e 64 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 73 0a  nd compilations.
fe10: 63 61 6e 20 62 65 20 70 65 72 66 6f 72 6d 65 64  can be performed
fe20: 20 74 68 65 72 65 2e 20 28 4a 4f 29 0a 0a 31 31   there. (JO)..11
fe30: 2f 31 34 2f 39 35 20 28 62 75 67 20 66 69 78 29  /14/95 (bug fix)
fe40: 20 46 69 78 65 64 20 66 69 6c 65 20 73 68 61 72   Fixed file shar
fe50: 69 6e 67 20 62 65 74 77 65 65 6e 20 69 6e 74 65  ing between inte
fe60: 72 70 72 65 74 65 72 73 20 61 6e 64 20 66 69 6c  rpreters and fil
fe70: 65 0a 74 72 61 6e 73 66 65 72 72 69 6e 67 20 62  e.transferring b
fe80: 65 74 77 65 65 6e 20 69 6e 74 65 72 70 72 65 74  etween interpret
fe90: 65 72 73 20 74 6f 20 63 6f 72 72 65 63 74 6c 79  ers to correctly
fea0: 20 6d 61 6e 61 67 65 20 74 68 65 20 72 65 66 63   manage the refc
feb0: 6f 75 6e 74 20 73 6f 20 74 68 61 74 0a 66 69 6c  ount so that.fil
fec0: 65 73 20 61 72 65 20 63 6c 6f 73 65 64 20 77 68  es are closed wh
fed0: 65 6e 20 74 68 65 20 6c 61 73 74 20 72 65 66 65  en the last refe
fee0: 72 65 6e 63 65 20 74 6f 20 74 68 65 6d 20 69 73  rence to them is
fef0: 20 64 69 73 63 61 72 64 65 64 2e 20 28 4a 4c 29   discarded. (JL)
ff00: 0a 0a 31 31 2f 31 34 2f 39 35 20 28 62 75 67 20  ..11/14/95 (bug 
ff10: 66 69 78 29 20 46 69 78 65 64 20 67 65 74 74 69  fix) Fixed getti
ff20: 6d 65 6f 66 64 61 79 20 69 6d 70 6c 65 6d 65 6e  meofday implemen
ff30: 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 0a 4d  tation for the.M
ff40: 61 63 69 6e 74 6f 73 68 2e 20 20 54 68 69 73 20  acintosh.  This 
ff50: 66 69 78 65 73 20 73 65 76 65 72 61 6c 20 74 69  fixes several ti
ff60: 6d 69 6e 67 20 72 65 6c 61 74 65 64 20 62 75 67  ming related bug
ff70: 73 2e 20 28 52 4a 29 0a 0a 31 31 2f 31 37 2f 39  s. (RJ)..11/17/9
ff80: 35 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  5 (new feature) 
ff90: 41 64 64 65 64 20 6d 69 73 73 69 6e 67 20 73 75  Added missing su
ffa0: 70 70 6f 72 74 20 66 6f 72 20 69 6e 66 6f 20 6e  pport for info n
ffb0: 61 6d 65 6f 66 65 78 65 63 75 74 61 62 6c 65 0a  ameofexecutable.
ffc0: 6f 6e 20 74 68 65 20 4d 61 63 69 6e 74 6f 73 68  on the Macintosh
ffd0: 2e 20 28 52 4a 29 0a 0a 31 31 2f 31 37 2f 39 35  . (RJ)..11/17/95
ffe0: 20 28 62 75 67 20 66 69 78 29 20 54 68 65 20 54   (bug fix) The T
fff0: 63 6c 20 76 61 72 69 61 62 6c 65 73 20 61 72 67  cl variables arg
10000 63 20 61 72 67 76 20 61 6e 64 20 61 72 67 76 30  c argv and argv0
10010 20 6e 6f 77 20 72 65 74 75 72 6e 0a 73 6f 6d 65   now return.some
10020 74 68 69 6e 67 20 72 65 61 73 6f 6e 61 62 6c 65  thing reasonable
10030 20 6f 6e 20 74 68 65 20 4d 61 63 2e 20 20 28 52   on the Mac.  (R
10040 4a 29 0a 0a 31 31 2f 32 32 2f 39 35 20 28 6e 65  J)..11/22/95 (ne
10050 77 20 66 65 61 74 75 72 65 29 20 49 6d 70 6c 65  w feature) Imple
10060 6d 65 6e 74 65 64 20 22 61 75 74 6f 2d 64 65 74  mented "auto-det
10070 65 63 74 22 20 6d 6f 64 65 20 66 6f 72 20 65 6e  ect" mode for en
10080 64 20 6f 66 20 6c 69 6e 65 0a 74 72 61 6e 73 6c  d of line.transl
10090 61 74 69 6f 6e 73 2e 20 4f 6e 20 69 6e 70 75 74  ations. On input
100a0 2c 20 73 74 61 6e 64 61 6c 6f 6e 65 20 22 5c 72  , standalone "\r
100b0 22 20 6d 65 61 6e 20 4d 41 43 20 6d 6f 64 65 2c  " mean MAC mode,
100c0 20 73 74 61 6e 64 61 6c 6f 6e 65 20 22 5c 6e 22   standalone "\n"
100d0 0a 6d 65 61 6e 20 55 6e 69 78 20 6d 6f 64 65 20  .mean Unix mode 
100e0 61 6e 64 20 22 5c 72 5c 6e 22 20 6d 65 61 6e 73  and "\r\n" means
100f0 20 57 69 6e 64 6f 77 73 20 6d 6f 64 65 2e 20 4f   Windows mode. O
10100 6e 20 6f 75 74 70 75 74 2c 20 74 68 65 20 6d 6f  n output, the mo
10110 64 65 20 69 73 0a 6d 6f 64 69 66 69 65 64 20 74  de is.modified t
10120 6f 20 77 68 61 74 65 76 65 72 20 74 68 65 20 70  o whatever the p
10130 6c 61 74 66 6f 72 6d 20 73 70 65 63 69 66 69 63  latform specific
10140 20 6d 6f 64 65 20 66 6f 72 20 74 68 61 74 20 70   mode for that p
10150 6c 61 74 66 6f 72 6d 20 69 73 2e 20 28 4a 4c 29  latform is. (JL)
10160 0a 0a 31 31 2f 32 34 2f 39 35 20 28 66 65 61 74  ..11/24/95 (feat
10170 75 72 65 20 63 68 61 6e 67 65 29 20 52 65 70 6c  ure change) Repl
10180 61 63 65 64 20 22 63 6f 6e 66 69 67 49 6e 66 6f  aced "configInfo
10190 22 20 66 69 6c 65 20 77 69 74 68 20 74 63 6c 43  " file with tclC
101a0 6f 6e 66 69 67 2e 73 68 2c 0a 77 68 69 63 68 20  onfig.sh,.which 
101b0 69 73 20 6d 6f 72 65 20 63 6f 6d 70 6c 65 74 65  is more complete
101c0 20 61 6e 64 20 75 73 65 73 20 73 6c 69 67 68 74   and uses slight
101d0 6c 79 20 64 69 66 66 65 72 65 6e 74 20 6e 61 6d  ly different nam
101e0 65 73 2e 20 20 41 6c 73 6f 0a 61 72 72 61 6e 67  es.  Also.arrang
101f0 65 64 20 66 6f 72 20 74 63 6c 43 6f 6e 66 69 67  ed for tclConfig
10200 2e 73 68 20 74 6f 20 62 65 20 69 6e 73 74 61 6c  .sh to be instal
10210 6c 65 64 20 69 6e 20 74 68 65 20 70 6c 61 74 66  led in the platf
10220 6f 72 6d 2d 73 70 65 63 69 66 69 63 0a 6c 69 62  orm-specific.lib
10230 72 61 72 79 20 64 69 72 65 63 74 6f 72 79 20 69  rary directory i
10240 6e 73 74 65 61 64 20 6f 66 20 54 63 6c 27 73 20  nstead of Tcl's 
10250 73 63 72 69 70 74 20 6c 69 62 72 61 72 79 20 64  script library d
10260 69 72 65 63 74 6f 72 79 2e 20 28 4a 4f 29 0a 2a  irectory. (JO).*
10270 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
10280 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69 74  OMPATIBILITY wit
10290 68 20 54 63 6c 20 37 2e 35 61 32 2c 20 62 75 74  h Tcl 7.5a2, but
102a0 20 6e 6f 74 20 77 69 74 68 20 54 63 6c 20 37 2e   not with Tcl 7.
102b0 34 20 2a 2a 2a 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d  4 ***..---------
102c0 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65  -------- Release
102d0 64 20 70 61 74 63 68 20 37 2e 34 70 33 2c 20 31  d patch 7.4p3, 1
102e0 31 2f 32 38 2f 39 35 20 2d 2d 2d 2d 2d 2d 2d 2d  1/28/95 --------
102f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
10300 0a 31 32 2f 35 2f 39 35 20 28 6e 65 77 20 66 65  .12/5/95 (new fe
10310 61 74 75 72 65 29 20 41 64 64 65 64 20 54 63 6c  ature) Added Tcl
10320 5f 46 69 6c 65 20 66 61 63 69 6c 69 74 79 20 74  _File facility t
10330 6f 20 73 75 70 70 6f 72 74 20 70 6c 61 74 66 6f  o support platfo
10340 72 6d 2d 0a 69 6e 64 65 70 65 6e 64 65 6e 74 20  rm-.independent 
10350 66 69 6c 65 20 68 61 6e 64 6c 65 73 2e 20 20 43  file handles.  C
10360 68 61 6e 67 65 64 20 61 6c 6c 20 69 6e 74 65 72  hanged all inter
10370 66 61 63 65 73 20 74 68 61 74 20 75 73 65 64 20  faces that used 
10380 55 6e 69 78 2d 0a 73 74 79 6c 65 20 69 6e 74 65  Unix-.style inte
10390 67 65 72 20 66 64 27 73 20 74 6f 20 75 73 65 20  ger fd's to use 
103a0 54 63 6c 5f 46 69 6c 65 27 73 20 69 6e 73 74 65  Tcl_File's inste
103b0 61 64 2e 20 28 53 53 29 0a 2a 2a 2a 20 50 4f 54  ad. (SS).*** POT
103c0 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
103d0 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 32 2f 35  BILITY ***..12/5
103e0 2f 39 35 20 28 6e 65 77 20 66 65 61 74 75 72 65  /95 (new feature
103f0 29 20 41 64 64 65 64 20 61 20 6e 65 77 20 22 63  ) Added a new "c
10400 6c 6f 63 6b 22 20 63 6f 6d 6d 61 6e 64 20 74 6f  lock" command to
10410 20 54 63 6c 2e 20 20 54 68 65 20 63 6f 6d 6d 61   Tcl.  The comma
10420 6e 64 0a 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f  nd.allows you to
10430 20 67 65 74 20 74 68 65 20 63 75 72 72 65 6e 74   get the current
10440 20 22 63 6c 69 63 6b 73 22 20 6f 72 20 73 65 63   "clicks" or sec
10450 6f 6e 64 73 20 26 20 61 6c 6c 6f 77 73 20 79 6f  onds & allows yo
10460 75 20 74 6f 0a 66 6f 72 6d 61 74 20 6f 72 20 73  u to.format or s
10470 63 61 6e 20 68 75 6d 61 6e 20 72 65 61 64 61 62  can human readab
10480 6c 65 20 74 69 6d 65 2f 64 61 74 65 20 73 74 72  le time/date str
10490 69 6e 67 73 2e 20 28 52 4a 29 0a 0a 31 32 2f 31  ings. (RJ)..12/1
104a0 38 2f 39 35 20 28 6e 65 77 20 66 65 61 74 75 72  8/95 (new featur
104b0 65 29 20 4d 6f 76 65 64 20 54 6b 5f 50 72 65 73  e) Moved Tk_Pres
104c0 65 72 76 65 2c 20 54 6b 5f 52 65 6c 65 61 73 65  erve, Tk_Release
104d0 2c 20 61 6e 64 20 54 6b 5f 45 76 65 6e 74 75 61  , and Tk_Eventua
104e0 6c 6c 79 46 72 65 65 0a 74 6f 20 54 63 6c 2c 20  llyFree.to Tcl, 
104f0 72 65 6e 61 6d 65 64 20 74 6f 20 54 63 6c 5f 50  renamed to Tcl_P
10500 72 65 73 65 72 76 65 2c 20 54 63 6c 5f 52 65 6c  reserve, Tcl_Rel
10510 65 61 73 65 2c 20 61 6e 64 20 54 63 6c 5f 45 76  ease, and Tcl_Ev
10520 65 6e 74 75 61 6c 6c 79 46 72 65 65 2e 20 28 4a  entuallyFree. (J
10530 4f 29 0a 0a 31 32 2f 31 38 2f 39 35 20 28 6e 65  O)..12/18/95 (ne
10540 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
10550 20 6e 65 77 20 22 70 61 63 6b 61 67 65 22 20 63   new "package" c
10560 6f 6d 6d 61 6e 64 20 61 6e 64 20 61 73 73 6f 63  ommand and assoc
10570 69 61 74 65 64 0a 70 72 6f 63 65 64 75 72 65 73  iated.procedures
10580 20 54 63 6c 5f 50 6b 67 52 65 71 75 69 72 65 20   Tcl_PkgRequire 
10590 61 6e 64 20 54 63 6c 5f 50 6b 67 50 72 6f 76 69  and Tcl_PkgProvi
105a0 64 65 2e 20 20 20 41 6c 73 6f 20 77 72 6f 74 65  de.   Also wrote
105b0 0a 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 6c 69 62  .pkg_mkIndex lib
105c0 72 61 72 79 20 70 72 6f 63 65 64 75 72 65 20 74  rary procedure t
105d0 6f 20 63 72 65 61 74 65 20 69 6e 64 65 78 20 66  o create index f
105e0 69 6c 65 73 20 66 72 6f 6d 20 62 69 6e 61 72 69  iles from binari
105f0 65 73 0a 61 6e 64 20 73 63 72 69 70 74 73 2e 20  es.and scripts. 
10600 28 4a 4f 29 0a 0a 31 32 2f 32 30 2f 39 35 20 28  (JO)..12/20/95 (
10610 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64  new feature) Add
10620 65 64 20 54 63 6c 5f 57 61 69 74 46 6f 72 46 69  ed Tcl_WaitForFi
10630 6c 65 20 70 72 6f 63 65 64 75 72 65 2e 20 28 4a  le procedure. (J
10640 4f 29 0a 0a 31 32 2f 32 31 2f 39 35 20 28 6e 65  O)..12/21/95 (ne
10650 77 20 66 65 61 74 75 72 65 73 29 20 4d 61 64 65  w features) Made
10660 20 70 61 63 6b 61 67 65 20 6e 61 6d 65 20 61 72   package name ar
10670 67 75 6d 65 6e 74 20 74 6f 20 22 6c 6f 61 64 22  gument to "load"
10680 20 6f 70 74 69 6f 6e 61 6c 0a 28 54 63 6c 20 77   optional.(Tcl w
10690 69 6c 6c 20 6e 6f 77 20 61 74 74 65 6d 70 74 20  ill now attempt 
106a0 74 6f 20 67 75 65 73 73 20 74 68 65 20 70 61 63  to guess the pac
106b0 6b 61 67 65 20 6e 61 6d 65 20 69 66 20 6e 65 63  kage name if nec
106c0 65 73 73 61 72 79 29 2e 20 20 41 6c 73 6f 0a 61  essary).  Also.a
106d0 64 64 65 64 20 54 63 6c 5f 53 74 61 74 69 63 50  dded Tcl_StaticP
106e0 61 63 6b 61 67 65 20 61 6e 64 20 73 75 70 70 6f  ackage and suppo
106f0 72 74 20 69 6e 20 22 6c 6f 61 64 22 20 66 6f 72  rt in "load" for
10700 20 73 74 61 74 69 63 61 6c 6c 79 20 6c 69 6e 6b   statically link
10710 65 64 0a 70 61 63 6b 61 67 65 73 2e 20 20 28 4a  ed.packages.  (J
10720 4f 29 0a 0a 31 32 2f 32 32 2f 39 35 20 28 6e 65  O)..12/22/95 (ne
10730 77 20 66 65 61 74 75 72 65 29 20 55 70 67 72 61  w feature) Upgra
10740 64 65 64 20 74 68 65 20 66 6f 72 65 61 63 68 20  ded the foreach 
10750 63 6f 6d 6d 61 6e 64 20 74 6f 20 61 63 63 65 70  command to accep
10760 74 20 6d 75 6c 74 69 70 6c 65 0a 6c 6f 6f 70 20  t multiple.loop 
10770 76 61 72 69 61 62 6c 65 73 20 61 6e 64 20 6d 75  variables and mu
10780 6c 74 69 70 6c 65 20 76 61 6c 75 65 20 6c 69 73  ltiple value lis
10790 74 73 2e 20 20 54 68 69 73 20 6c 65 74 73 20 79  ts.  This lets y
107a0 6f 75 20 69 74 65 72 61 74 65 20 6f 76 65 72 0a  ou iterate over.
107b0 6d 75 6c 74 69 70 6c 65 20 6c 69 73 74 73 20 69  multiple lists i
107c0 6e 20 70 61 72 61 6c 6c 65 6c 2c 20 61 6e 64 2f  n parallel, and/
107d0 6f 72 20 61 73 73 69 67 6e 20 6d 75 6c 74 69 70  or assign multip
107e0 6c 65 20 6c 6f 6f 70 20 76 61 72 69 61 62 6c 65  le loop variable
107f0 73 20 66 72 6f 6d 0a 6f 6e 65 20 76 61 6c 75 65  s from.one value
10800 20 6c 69 73 74 20 64 75 72 69 6e 67 20 65 61 63   list during eac
10810 68 20 69 74 65 72 61 74 69 6f 6e 2e 20 54 68 65  h iteration. The
10820 20 6f 6e 6c 79 20 70 6f 74 65 6e 74 69 61 6c 20   only potential 
10830 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 70 72  compatibility.pr
10840 6f 62 6c 65 6d 20 69 73 20 77 69 74 68 20 73 63  oblem is with sc
10850 72 69 70 74 73 20 74 68 61 74 20 75 73 65 64 20  ripts that used 
10860 6c 6f 6f 70 20 76 61 72 69 61 62 6c 65 73 20 77  loop variables w
10870 69 74 68 20 61 20 6e 61 6d 65 20 74 68 61 74 20  ith a name that 
10880 63 6f 75 6c 64 20 62 65 0a 63 6f 6e 73 74 72 75  could be.constru
10890 65 64 20 74 6f 20 62 65 20 61 20 6c 69 73 74 20  ed to be a list 
108a0 6f 66 20 76 61 72 69 61 62 6c 65 20 6e 61 6d 65  of variable name
108b0 73 20 28 69 2e 65 2e 20 63 6f 6e 74 61 69 6e 65  s (i.e. containe
108c0 64 20 73 70 61 63 65 73 29 2e 20 20 28 42 57 29  d spaces).  (BW)
108d0 0a 0a 31 2f 35 2f 39 36 20 28 6e 65 77 20 66 65  ..1/5/96 (new fe
108e0 61 74 75 72 65 29 20 43 68 61 6e 67 65 64 20 74  ature) Changed t
108f0 63 6c 73 68 20 73 6f 20 69 74 20 62 75 69 6c 64  clsh so it build
10900 73 20 61 73 20 61 20 63 6f 6e 73 6f 6c 65 20 6d  s as a console m
10910 6f 64 65 0a 61 70 70 6c 69 63 61 74 69 6f 6e 20  ode.application 
10920 75 6e 64 65 72 20 57 69 6e 64 6f 77 73 2e 20 20  under Windows.  
10930 4e 6f 77 20 74 63 6c 73 68 20 63 61 6e 20 62 65  Now tclsh can be
10940 20 75 73 65 64 20 66 72 6f 6d 20 74 68 65 20 63   used from the c
10950 6f 6d 6d 61 6e 64 0a 6c 69 6e 65 20 77 69 74 68  ommand.line with
10960 20 70 69 70 65 73 20 6f 72 20 69 6e 74 65 72 61   pipes or intera
10970 63 74 69 76 65 6c 79 2e 20 20 4e 6f 74 65 20 74  ctively.  Note t
10980 68 61 74 20 74 68 69 73 20 6f 6e 6c 79 20 77 6f  hat this only wo
10990 72 6b 73 20 75 6e 64 65 72 0a 57 69 6e 64 6f 77  rks under.Window
109a0 73 20 39 35 20 6f 72 20 4e 54 2e 20 28 53 53 29  s 95 or NT. (SS)
109b0 0a 0a 31 2f 31 37 2f 39 36 20 28 6e 65 77 20 66  ..1/17/96 (new f
109c0 65 61 74 75 72 65 29 20 4d 6f 64 69 66 69 65 64  eature) Modified
109d0 20 4d 61 6b 65 66 69 6c 65 20 61 6e 64 20 63 6f   Makefile and co
109e0 6e 66 69 67 75 72 65 20 73 63 72 69 70 74 20 74  nfigure script t
109f0 6f 20 61 6c 6c 6f 77 0a 54 63 6c 20 74 6f 20 62  o allow.Tcl to b
10a00 65 20 63 6f 6d 70 69 6c 65 64 20 61 73 20 61 20  e compiled as a 
10a10 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 3a 20  shared library: 
10a20 20 75 73 65 20 74 68 65 20 2d 2d 65 6e 61 62 6c   use the --enabl
10a30 65 2d 73 68 61 72 65 64 20 6f 70 74 69 6f 6e 0a  e-shared option.
10a40 77 68 65 6e 20 63 6f 6e 66 69 67 75 69 6e 67 2e  when configuing.
10a50 20 20 28 4a 4f 29 0a 0a 31 2f 31 37 2f 39 36 20    (JO)..1/17/96 
10a60 28 72 65 6d 6f 76 65 64 20 6f 62 73 6f 6c 65 74  (removed obsolet
10a70 65 20 66 65 61 74 75 72 65 73 29 20 20 52 65 6d  e features)  Rem
10a80 6f 76 65 64 20 74 68 65 20 70 72 6f 63 65 64 75  oved the procedu
10a90 72 65 73 20 54 63 6c 5f 45 6e 74 65 72 46 69 6c  res Tcl_EnterFil
10aa0 65 0a 61 6e 64 20 54 63 6c 5f 47 65 74 4f 70 65  e.and Tcl_GetOpe
10ab0 6e 46 69 6c 65 3a 20 20 74 68 65 73 65 20 6e 6f  nFile:  these no
10ac0 20 6c 6f 6e 67 65 72 20 6d 61 6b 65 20 73 65 6e   longer make sen
10ad0 73 65 20 77 69 74 68 20 74 68 65 20 6e 65 77 20  se with the new 
10ae0 49 2f 4f 20 73 79 73 74 65 6d 2e 20 28 4a 4c 29  I/O system. (JL)
10af0 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
10b00 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a  NCOMPATIBILITY *
10b10 2a 2a 0a 0a 31 2f 31 39 2f 39 36 20 28 62 75 67  **..1/19/96 (bug
10b20 20 66 69 78 65 73 29 20 50 72 65 76 65 6e 74 65   fixes) Prevente
10b30 64 20 66 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 63  d formation of c
10b40 69 72 63 75 6c 61 72 20 61 6c 69 61 73 65 73 2c  ircular aliases,
10b50 20 74 68 72 6f 75 67 68 20 74 68 65 0a 54 63 6c   through the.Tcl
10b60 20 27 69 6e 74 65 72 70 20 61 6c 69 61 73 27 20   'interp alias' 
10b70 63 6f 6d 6d 61 6e 64 20 61 6e 64 20 74 68 72 6f  command and thro
10b80 75 67 68 20 74 68 65 20 27 72 65 6e 61 6d 65 27  ugh the 'rename'
10b90 20 63 6f 6d 6d 61 6e 64 2c 20 61 73 20 77 65 6c   command, as wel
10ba0 6c 20 61 73 0a 74 68 72 6f 75 67 68 20 74 68 65  l as.through the
10bb0 20 43 20 41 50 49 20 54 63 6c 5f 43 72 65 61 74   C API Tcl_Creat
10bc0 65 41 6c 69 61 73 2e 20 28 4a 4c 29 0a 0a 31 2f  eAlias. (JL)..1/
10bd0 31 39 2f 39 36 20 28 62 75 67 20 66 69 78 65 73  19/96 (bug fixes
10be0 29 20 46 69 78 65 64 20 73 65 76 65 72 61 6c 20  ) Fixed several 
10bf0 62 75 67 73 20 69 6e 20 64 69 72 65 63 74 20 64  bugs in direct d
10c00 65 6c 65 74 69 6f 6e 20 6f 66 20 69 6e 74 65 72  eletion of inter
10c10 70 72 65 74 65 72 73 0a 77 69 74 68 20 54 63 6c  preters.with Tcl
10c20 5f 44 65 6c 65 74 65 49 6e 74 65 72 70 20 77 68  _DeleteInterp wh
10c30 65 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65 74  en the interpret
10c40 65 72 20 69 73 20 61 20 73 6c 61 76 65 3b 20 66  er is a slave; f
10c50 69 78 65 73 20 62 61 73 65 64 20 6f 6e 20 61 0a  ixes based on a.
10c60 70 61 74 63 68 20 72 65 63 65 69 76 65 64 20 66  patch received f
10c70 72 6f 6d 20 56 69 6b 74 6f 72 20 44 75 6b 68 6f  rom Viktor Dukho
10c80 76 6e 69 20 6f 66 20 45 53 4d 2e 20 28 4a 4c 29  vni of ESM. (JL)
10c90 0a 0a 31 2f 31 39 2f 39 36 20 28 6e 65 77 20 66  ..1/19/96 (new f
10ca0 65 61 74 75 72 65 29 20 49 6d 70 6c 65 6d 65 6e  eature) Implemen
10cb0 74 65 64 20 6f 6e 2d 63 6c 6f 73 65 20 68 61 6e  ted on-close han
10cc0 64 6c 65 72 73 20 66 6f 72 20 63 68 61 6e 6e 65  dlers for channe
10cd0 6c 73 3b 20 61 64 64 65 64 0a 74 68 65 20 43 20  ls; added.the C 
10ce0 41 50 49 73 20 54 63 6c 5f 43 72 65 61 74 65 43  APIs Tcl_CreateC
10cf0 6c 6f 73 65 48 61 6e 64 6c 65 72 20 61 6e 64 20  loseHandler and 
10d00 54 63 6c 5f 44 65 6c 65 74 65 43 6c 6f 73 65 48  Tcl_DeleteCloseH
10d10 61 6e 64 6c 65 72 2e 20 28 4a 4c 29 0a 0a 31 2f  andler. (JL)..1/
10d20 31 39 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75  19/96 (new featu
10d30 72 65 29 20 49 6d 70 6c 65 6d 65 6e 74 65 64 20  re) Implemented 
10d40 70 6f 72 74 61 62 6c 65 20 65 72 72 6f 72 20 72  portable error r
10d50 65 70 6f 72 74 69 6e 67 20 6d 65 63 68 61 6e 69  eporting mechani
10d60 73 6d 3b 20 61 64 64 65 64 0a 74 68 65 20 43 20  sm; added.the C 
10d70 41 50 49 73 20 54 63 6c 5f 53 65 74 45 72 72 6e  APIs Tcl_SetErrn
10d80 6f 20 61 6e 64 20 54 63 6c 5f 47 65 74 45 72 72  o and Tcl_GetErr
10d90 6e 6f 2e 20 28 4a 4c 29 0a 0a 31 2f 32 34 2f 39  no. (JL)..1/24/9
10da0 36 20 28 62 75 67 20 66 69 78 29 20 55 6e 6b 6e  6 (bug fix) Unkn
10db0 6f 77 6e 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 63  own command proc
10dc0 65 73 73 69 6e 67 20 70 72 6f 70 65 72 6c 79 20  essing properly 
10dd0 69 6e 76 6f 6b 65 73 20 65 78 74 65 72 6e 61 6c  invokes external
10de0 0a 63 6f 6d 6d 61 6e 64 73 20 75 6e 64 65 72 20  .commands under 
10df0 57 69 6e 64 6f 77 73 20 4e 54 20 61 6e 64 20 57  Windows NT and W
10e00 69 6e 64 6f 77 73 20 27 39 35 20 6e 6f 77 2e 20  indows '95 now. 
10e10 28 53 53 29 0a 0a 31 2f 32 33 2f 39 36 20 28 62  (SS)..1/23/96 (b
10e20 75 67 20 66 69 78 29 20 45 6c 69 6d 69 6e 61 74  ug fix) Eliminat
10e30 65 64 20 65 78 74 72 65 6d 65 6c 79 20 6c 6f 6e  ed extremely lon
10e40 67 20 73 74 61 72 74 75 70 20 74 69 6d 65 73 20  g startup times 
10e50 75 6e 64 65 72 20 57 69 6e 64 6f 77 73 20 27 39  under Windows '9
10e60 35 2e 0a 54 68 65 20 70 72 6f 62 6c 65 6d 20 77  5..The problem w
10e70 61 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 74  as a result of t
10e80 68 65 20 6f 70 74 69 6f 6e 20 64 61 74 61 62 61  he option databa
10e90 73 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f  se initializatio
10ea0 6e 20 63 6f 64 65 20 74 68 61 74 0a 63 6f 6e 63  n code that.conc
10eb0 61 74 65 6e 61 74 65 64 20 24 48 4f 4d 45 20 77  atenated $HOME w
10ec0 69 74 68 20 2f 2e 58 64 65 66 61 75 6c 74 73 2c  ith /.Xdefaults,
10ed0 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20   resulting in a 
10ee0 2f 2f 20 69 6e 20 74 68 65 20 6d 69 64 64 6c 65  // in the middle
10ef0 20 6f 66 20 74 68 65 0a 66 69 6c 65 20 6e 61 6d   of the.file nam
10f00 65 2e 20 20 55 6e 64 65 72 20 57 69 6e 64 6f 77  e.  Under Window
10f10 73 20 27 39 35 2c 20 74 68 69 73 20 69 73 20 69  s '95, this is i
10f20 6e 63 6f 72 72 65 63 74 6c 79 20 69 6e 74 65 72  ncorrectly inter
10f30 70 72 65 74 65 64 20 61 73 20 61 20 55 4e 43 0a  preted as a UNC.
10f40 70 61 74 68 2e 20 20 54 68 65 79 20 64 65 6c 61  path.  They dela
10f50 79 73 20 63 61 6d 65 20 66 72 6f 6d 20 74 68 65  ys came from the
10f60 20 6e 65 74 77 6f 72 6b 20 74 69 6d 65 6f 75 74   network timeout
10f70 73 20 6e 65 65 64 65 64 20 74 6f 20 64 65 74 65  s needed to dete
10f80 72 6d 69 6e 65 20 74 68 61 74 0a 74 68 65 20 66  rmine that.the f
10f90 69 6c 65 20 6e 61 6d 65 20 77 61 73 20 69 6e 76  ile name was inv
10fa0 61 6c 69 64 2e 20 20 54 63 6c 5f 54 72 61 6e 73  alid.  Tcl_Trans
10fb0 6c 61 74 65 46 69 6c 65 4e 61 6d 65 20 6e 6f 77  lateFileName now
10fc0 20 73 75 70 70 72 65 73 73 65 73 20 64 75 70 6c   suppresses dupl
10fd0 69 63 61 74 65 0a 73 6c 61 73 68 65 73 20 74 68  icate.slashes th
10fe0 61 74 20 61 72 65 6e 27 74 20 61 74 20 74 68 65  at aren't at the
10ff0 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68   beginning of th
11000 65 20 66 69 6c 65 20 6e 61 6d 65 2e 20 28 53 53  e file name. (SS
11010 29 0a 09 09 09 09 20 20 20 20 20 0a 31 2f 32 35  ).....     .1/25
11020 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 43 68  /96 (bug fix) Ch
11030 61 6e 67 65 64 20 65 78 65 63 20 61 6e 64 20 6f  anged exec and o
11040 70 65 6e 20 74 6f 20 63 72 65 61 74 65 20 63 68  pen to create ch
11050 69 6c 64 72 65 6e 20 73 6f 20 74 68 65 79 20 61  ildren so they a
11060 72 65 0a 61 74 74 61 63 68 65 64 20 74 6f 20 74  re.attached to t
11070 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 27 73  he application's
11080 20 63 6f 6e 73 6f 6c 65 20 69 66 20 69 74 20 65   console if it e
11090 78 69 73 74 73 2e 20 28 53 53 29 0a 0a 31 2f 33  xists. (SS)..1/3
110a0 31 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46  1/96 (bug fix) F
110b0 69 78 65 64 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e  ixed command lin
110c0 65 20 70 61 72 73 69 6e 67 20 74 6f 20 68 61 6e  e parsing to han
110d0 64 6c 65 20 65 6d 62 65 64 64 65 64 0a 73 70 61  dle embedded.spa
110e0 63 65 73 20 75 6e 64 65 72 20 57 69 6e 64 6f 77  ces under Window
110f0 73 2e 20 28 53 53 29 0a 0a 2d 2d 2d 2d 2d 2d 2d  s. (SS)..-------
11100 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
11110 73 65 64 20 37 2e 35 62 31 2c 20 32 2f 31 2f 39  sed 7.5b1, 2/1/9
11120 36 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  6 --------------
11130 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 2f 37 2f 39  ---------..2/7/9
11140 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  6 (bug fix) Fixe
11150 64 20 6f 66 66 20 62 79 20 6f 6e 65 20 65 72 72  d off by one err
11160 6f 72 20 69 6e 20 61 72 67 75 6d 65 6e 74 20 70  or in argument p
11170 61 72 73 69 6e 67 20 63 6f 64 65 20 75 6e 64 65  arsing code unde
11180 72 0a 57 69 6e 64 6f 77 73 2e 20 28 53 53 29 0a  r.Windows. (SS).
11190 0a 32 2f 37 2f 39 36 20 28 62 75 67 20 66 69 78  .2/7/96 (bug fix
111a0 29 20 46 69 78 65 64 20 62 75 67 73 20 69 6e 20  ) Fixed bugs in 
111b0 56 43 2b 2b 20 6d 61 6b 65 66 69 6c 65 20 74 68  VC++ makefile th
111c0 61 74 20 69 6d 70 72 6f 70 65 72 6c 79 0a 69 6e  at improperly.in
111d0 69 74 69 61 6c 69 7a 65 64 20 74 68 65 20 74 63  itialized the tc
111e0 6c 37 35 2e 64 6c 6c 2e 20 20 46 69 78 65 64 20  l75.dll.  Fixed 
111f0 62 75 67 73 20 69 6e 20 42 6f 72 6c 61 6e 64 20  bugs in Borland 
11200 6d 61 6b 65 66 69 6c 65 20 74 68 61 74 20 63 61  makefile that ca
11210 75 73 65 64 0a 62 75 69 6c 64 20 66 61 69 6c 75  used.build failu
11220 72 65 73 20 75 6e 64 65 72 20 57 69 6e 64 6f 77  res under Window
11230 73 20 4e 54 2e 20 28 53 53 29 0a 0a 32 2f 39 2f  s NT. (SS)..2/9/
11240 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78  96 (bug fix) Fix
11250 65 64 20 64 65 61 64 6c 6f 63 6b 20 70 72 6f 62  ed deadlock prob
11260 6c 65 6d 20 69 6e 20 41 55 54 4f 20 65 6e 64 20  lem in AUTO end 
11270 6f 66 20 6c 69 6e 65 20 74 72 61 6e 73 6c 61 74  of line translat
11280 69 6f 6e 0a 6d 6f 64 65 20 77 68 69 63 68 20 77  ion.mode which w
11290 6f 75 6c 64 20 63 61 75 73 65 20 61 20 73 6f 63  ould cause a soc
112a0 6b 65 74 20 73 65 72 76 65 72 20 77 69 74 68 20  ket server with 
112b0 73 65 76 65 72 61 6c 20 63 6f 6e 63 75 72 72 65  several concurre
112c0 6e 74 20 63 6c 69 65 6e 74 73 0a 77 72 69 74 69  nt clients.writi
112d0 6e 67 20 69 6e 20 43 52 4c 46 20 6d 6f 64 65 20  ng in CRLF mode 
112e0 74 6f 20 68 61 6e 67 2e 20 28 4a 4c 29 0a 0a 32  to hang. (JL)..2
112f0 2f 39 2f 39 36 20 28 41 50 49 20 63 68 61 6e 67  /9/96 (API chang
11300 65 29 20 52 65 70 6c 61 63 65 64 20 2d 6c 69 6e  e) Replaced -lin
11310 65 6d 6f 64 65 20 6f 70 74 69 6f 6e 20 74 6f 20  emode option to 
11320 66 63 6f 6e 66 69 67 75 72 65 20 77 69 74 68 20  fconfigure with 
11330 61 0a 6e 65 77 20 2d 62 75 66 66 65 72 69 6e 67  a.new -buffering
11340 20 6f 70 74 69 6f 6e 2c 20 61 64 64 65 64 20 22   option, added "
11350 6e 6f 6e 65 22 20 73 65 74 74 69 6e 67 20 74 6f  none" setting to
11360 20 65 6e 61 62 6c 65 20 69 6d 6d 65 64 69 61 74   enable immediat
11370 65 20 77 72 69 74 65 2e 20 28 4a 4c 29 0a 2a 2a  e write. (JL).**
11380 2a 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  * INCOMPATIBILIT
11390 59 20 77 69 74 68 20 62 31 20 2a 2a 2a 0a 0a 32  Y with b1 ***..2
113a0 2f 39 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75  /9/96 (new featu
113b0 72 65 29 20 41 64 64 65 64 20 43 20 41 50 49 20  re) Added C API 
113c0 54 63 6c 5f 49 6e 70 75 74 42 75 66 66 65 72 65  Tcl_InputBuffere
113d0 64 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20  d which returns 
113e0 74 68 65 20 63 6f 75 6e 74 0a 6f 66 20 62 79 74  the count.of byt
113f0 65 73 20 63 75 72 72 65 6e 74 6c 79 20 62 75 66  es currently buf
11400 66 65 72 65 64 20 69 6e 20 74 68 65 20 69 6e 70  fered in the inp
11410 75 74 20 62 75 66 66 65 72 20 6f 66 20 61 20 63  ut buffer of a c
11420 68 61 6e 6e 65 6c 2c 20 61 6e 64 20 6f 20 66 6f  hannel, and o fo
11430 72 0a 6f 75 74 70 75 74 20 6f 6e 6c 79 20 63 68  r.output only ch
11440 61 6e 6e 65 6c 73 2e 20 28 4a 4c 29 0a 0a 32 2f  annels. (JL)..2/
11450 39 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75 72  9/96 (new featur
11460 65 29 20 49 6d 70 6c 65 6d 65 6e 74 65 64 20 61  e) Implemented a
11470 73 79 6e 63 68 72 6f 6e 6f 75 73 20 63 6f 6e 6e  synchronous conn
11480 65 63 74 20 66 6f 72 20 73 6f 63 6b 65 74 73 2e  ect for sockets.
11490 20 28 4a 4c 29 0a 0a 32 2f 39 2f 39 36 20 28 6e   (JL)..2/9/96 (n
114a0 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65  ew feature) Adde
114b0 64 20 43 20 41 50 49 20 54 63 6c 5f 53 65 74 44  d C API Tcl_SetD
114c0 65 66 61 75 6c 74 54 72 61 6e 73 6c 61 74 69 6f  efaultTranslatio
114d0 6e 20 74 6f 20 73 65 74 20 28 70 65 72 0a 63 68  n to set (per.ch
114e0 61 6e 6e 65 6c 29 20 74 68 65 20 64 65 66 61 75  annel) the defau
114f0 6c 74 20 65 6e 64 20 6f 66 20 6c 69 6e 65 20 74  lt end of line t
11500 72 61 6e 73 6c 61 74 69 6f 6e 20 6d 6f 64 65 2e  ranslation mode.
11510 20 54 68 69 73 20 69 73 20 74 68 65 20 6d 6f 64   This is the mod
11520 65 20 74 68 61 74 0a 77 69 6c 6c 20 62 65 20 69  e that.will be i
11530 6e 73 74 61 6c 6c 65 64 20 69 66 20 61 6e 20 6f  nstalled if an o
11540 75 74 70 75 74 20 6f 70 65 72 61 74 69 6f 6e 20  utput operation 
11550 69 73 20 64 6f 6e 65 20 6f 6e 20 74 68 65 20 63  is done on the c
11560 68 61 6e 6e 65 6c 20 77 68 69 6c 65 20 69 74 20  hannel while it 
11570 69 73 0a 73 74 69 6c 6c 20 69 6e 20 41 55 54 4f  is.still in AUTO
11580 20 6d 6f 64 65 2e 20 28 4a 4c 29 0a 0a 32 2f 39   mode. (JL)..2/9
11590 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 43 68  /96 (bug fix) Ch
115a0 61 6e 67 65 64 20 54 63 6c 5f 4f 70 65 6e 43 6f  anged Tcl_OpenCo
115b0 6d 6d 61 6e 64 43 68 61 6e 6e 65 6c 20 69 6e 74  mmandChannel int
115c0 65 72 66 61 63 65 20 74 6f 20 70 72 6f 70 65 72  erface to proper
115d0 6c 79 0a 68 61 6e 64 6c 65 20 61 6c 6c 20 6f 66  ly.handle all of
115e0 20 74 68 65 20 63 6f 6d 62 69 6e 61 74 69 6f 6e   the combination
115f0 73 20 6f 66 20 73 74 64 69 6f 20 69 6e 68 65 72  s of stdio inher
11600 69 74 61 6e 63 65 20 69 6e 20 62 61 63 6b 67 72  itance in backgr
11610 6f 75 6e 64 0a 70 69 70 65 6c 69 6e 65 73 2e 20  ound.pipelines. 
11620 20 53 65 65 20 74 68 65 20 54 63 6c 5f 4f 70 65   See the Tcl_Ope
11630 6e 46 69 6c 65 43 68 61 6e 6e 65 6c 28 33 29 20  nFileChannel(3) 
11640 6d 61 6e 20 70 61 67 65 20 66 6f 72 20 6d 6f 72  man page for mor
11650 65 0a 69 6e 66 6f 2e 20 20 54 68 69 73 20 63 68  e.info.  This ch
11660 61 6e 67 65 20 66 69 78 65 73 20 74 68 65 20 62  ange fixes the b
11670 75 67 20 77 68 65 72 65 20 65 78 65 63 20 6f 66  ug where exec of
11680 20 61 20 62 61 63 6b 67 72 6f 75 6e 64 20 70 69   a background pi
11690 70 65 6c 69 6e 65 0a 77 61 73 20 6e 6f 74 20 67  peline.was not g
116a0 65 74 74 69 6e 67 20 70 61 73 73 65 64 20 74 68  etting passed th
116b0 65 20 73 74 64 69 6f 20 68 61 6e 64 6c 65 73 20  e stdio handles 
116c0 70 72 6f 70 65 72 6c 79 2e 20 28 53 53 29 0a 0a  properly. (SS)..
116d0 32 2f 39 2f 39 36 20 28 62 75 67 20 66 69 78 29  2/9/96 (bug fix)
116e0 20 52 65 6d 6f 76 65 64 20 74 68 65 20 6e 65 77   Removed the new
116f0 20 54 63 6c 5f 43 72 65 61 74 65 50 69 70 65 6c   Tcl_CreatePipel
11700 69 6e 65 20 69 6e 74 65 72 66 61 63 65 2c 20 61  ine interface, a
11710 6e 64 0a 72 65 73 74 6f 72 65 64 20 74 68 65 20  nd.restored the 
11720 6f 6c 64 20 76 65 72 73 69 6f 6e 20 66 6f 72 20  old version for 
11730 55 6e 69 78 20 70 6c 61 74 66 6f 72 6d 73 20 6f  Unix platforms o
11740 6e 6c 79 2e 20 20 41 6c 6c 20 6e 65 77 20 63 6f  nly.  All new co
11750 64 65 20 73 68 6f 75 6c 64 0a 75 73 65 20 54 63  de should.use Tc
11760 6c 5f 43 72 65 61 74 65 43 6f 6d 6d 61 6e 64 43  l_CreateCommandC
11770 68 61 6e 6e 65 6c 20 69 6e 73 74 65 61 64 2e 20  hannel instead. 
11780 28 53 53 29 0a 0a 32 2f 39 2f 39 36 20 28 62 75  (SS)..2/9/96 (bu
11790 67 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 4d  g fix) Changed M
117a0 61 6b 65 66 69 6c 65 2e 69 6e 20 74 6f 20 75 73  akefile.in to us
117b0 65 20 2d 4c 20 61 6e 64 20 2d 6c 74 63 6c 37 2e  e -L and -ltcl7.
117c0 35 20 66 6f 72 20 54 63 6c 0a 6c 69 62 72 61 72  5 for Tcl.librar
117d0 79 20 73 6f 20 74 68 61 74 20 73 68 61 72 65 64  y so that shared
117e0 20 6c 69 62 72 61 72 69 65 73 20 61 72 65 20 6d   libraries are m
117f0 6f 72 65 20 6c 69 6b 65 6c 79 20 74 6f 20 62 65  ore likely to be
11800 20 66 6f 75 6e 64 20 63 6f 72 72 65 63 74 6c 79   found correctly
11810 0a 6f 6e 20 6d 6f 72 65 20 70 6c 61 74 66 6f 72  .on more platfor
11820 6d 73 2e 20 28 4a 4f 29 0a 0a 32 2f 31 33 2f 39  ms. (JO)..2/13/9
11830 36 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  6 (new feature) 
11840 41 64 64 65 64 20 43 20 41 50 49 20 54 63 6c 5f  Added C API Tcl_
11850 53 65 74 4e 6f 74 69 66 69 65 72 44 61 74 61 20  SetNotifierData 
11860 61 6e 64 0a 54 63 6c 5f 47 65 74 4e 6f 74 69 66  and.Tcl_GetNotif
11870 69 65 72 44 61 74 61 20 74 6f 20 61 6c 6c 6f 77  ierData to allow
11880 20 6e 6f 74 69 66 69 65 72 20 61 6e 64 20 63 68   notifier and ch
11890 61 6e 6e 65 6c 20 64 72 69 76 65 72 20 77 72 69  annel driver wri
118a0 74 65 72 73 20 74 6f 0a 61 73 73 6f 63 69 61 74  ters to.associat
118b0 65 20 64 61 74 61 20 77 69 74 68 20 61 20 54 63  e data with a Tc
118c0 6c 5f 46 69 6c 65 2e 20 20 54 68 65 20 72 65 73  l_File.  The res
118d0 75 6c 74 20 6f 66 20 74 68 69 73 20 63 68 61 6e  ult of this chan
118e0 67 65 20 69 73 20 74 68 61 74 0a 54 63 6c 5f 47  ge is that.Tcl_G
118f0 65 74 46 69 6c 65 49 6e 66 6f 20 6e 6f 77 20 61  etFileInfo now a
11900 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 61 6e  lways returns an
11910 20 4f 53 20 66 69 6c 65 20 68 61 6e 64 6c 65 2c   OS file handle,
11920 20 61 6e 64 20 54 63 6c 5f 47 65 74 46 69 6c 65   and Tcl_GetFile
11930 0a 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20  .can be used to 
11940 63 6f 6e 73 74 72 75 63 74 20 61 20 54 63 6c 5f  construct a Tcl_
11950 46 69 6c 65 20 66 6f 72 20 61 6e 20 65 78 74 65  File for an exte
11960 72 6e 61 6c 6c 79 20 63 6f 6e 73 74 72 75 63 74  rnally construct
11970 65 64 20 4f 53 0a 68 61 6e 64 6c 65 2e 20 28 53  ed OS.handle. (S
11980 53 29 0a 0a 32 2f 31 33 2f 39 36 20 28 62 75 67  S)..2/13/96 (bug
11990 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 57 69   fix) Changed Wi
119a0 6e 64 6f 77 73 20 73 6f 63 6b 65 74 20 69 6d 70  ndows socket imp
119b0 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 73 6f 20 69  lementation so i
119c0 74 20 64 6f 65 73 6e 27 74 0a 73 65 74 20 53 4f  t doesn't.set SO
119d0 5f 52 45 55 53 45 41 44 44 52 20 6f 6e 20 73 65  _REUSEADDR on se
119e0 72 76 65 72 20 73 6f 63 6b 65 74 73 2e 20 20 4e  rver sockets.  N
119f0 6f 77 20 61 74 74 65 6d 70 74 73 20 74 6f 20 63  ow attempts to c
11a00 72 65 61 74 65 20 61 20 73 65 72 76 65 72 0a 73  reate a server.s
11a10 6f 63 6b 65 74 20 6f 6e 20 61 20 70 6f 72 74 20  ocket on a port 
11a20 74 68 61 74 20 69 73 20 61 6c 72 65 61 64 79 20  that is already 
11a30 69 6e 20 75 73 65 20 77 69 6c 6c 20 62 65 20 70  in use will be p
11a40 72 6f 70 65 72 6c 79 20 69 64 65 6e 74 69 66 69  roperly identifi
11a50 65 64 0a 61 6e 64 20 61 6e 20 65 72 72 6f 72 20  ed.and an error 
11a60 77 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65  will be generate
11a70 64 2e 20 28 53 53 29 0a 0a 32 2f 31 33 2f 39 36  d. (SS)..2/13/96
11a80 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
11a90 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 44   problems with D
11aa0 4c 4c 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f  LL initializatio
11ab0 6e 20 75 6e 64 65 72 20 56 69 73 75 61 6c 0a 43  n under Visual.C
11ac0 2b 2b 20 74 68 61 74 20 6c 65 66 74 20 74 68 65  ++ that left the
11ad0 20 43 20 72 75 6e 20 74 69 6d 65 20 6c 69 62 72   C run time libr
11ae0 61 72 79 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65  ary uninitialize
11af0 64 2e 20 28 53 53 29 0a 0a 32 2f 31 33 2f 39 36  d. (SS)..2/13/96
11b00 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
11b10 20 57 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74 20   Windows socket 
11b20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73  initialization s
11b30 6f 20 69 74 20 6c 6f 61 64 73 0a 77 69 6e 73 6f  o it loads.winso
11b40 63 6b 20 74 68 65 20 66 69 72 73 74 20 74 69 6d  ck the first tim
11b50 65 20 69 74 20 69 73 20 75 73 65 64 2c 20 72 61  e it is used, ra
11b60 74 68 65 72 20 74 68 61 6e 20 61 74 20 74 68 65  ther than at the
11b70 20 74 69 6d 65 20 74 63 6c 37 35 2e 64 6c 6c 0a   time tcl75.dll.
11b80 69 73 20 6c 6f 61 64 65 64 2e 20 20 54 68 69 73  is loaded.  This
11b90 20 73 68 6f 75 6c 64 20 66 69 78 20 74 68 65 20   should fix the 
11ba0 62 75 67 20 77 68 65 72 65 20 74 68 65 20 6d 6f  bug where the mo
11bb0 64 65 6d 20 69 6d 6d 65 64 69 61 74 65 6c 79 20  dem immediately 
11bc0 73 74 61 72 74 73 0a 74 72 79 69 6e 67 20 74 6f  starts.trying to
11bd0 20 63 6f 6e 6e 65 63 74 20 74 6f 20 61 20 73 65   connect to a se
11be0 72 76 69 63 65 20 70 72 6f 76 69 64 65 72 20 77  rvice provider w
11bf0 68 65 6e 20 77 69 73 68 20 6f 72 20 74 63 6c 73  hen wish or tcls
11c00 68 20 61 72 65 0a 73 74 61 72 74 65 64 2e 20 28  h are.started. (
11c10 53 53 29 0a 0a 32 2f 31 33 2f 39 36 20 28 6e 65  SS)..2/13/96 (ne
11c20 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
11c30 20 43 20 41 50 49 73 20 54 63 6c 5f 4d 61 6b 65   C APIs Tcl_Make
11c40 46 69 6c 65 43 68 61 6e 6e 65 6c 20 61 6e 64 0a  FileChannel and.
11c50 54 63 6c 5f 4d 61 6b 65 54 63 70 43 6c 69 65 6e  Tcl_MakeTcpClien
11c60 74 43 68 61 6e 6e 65 6c 20 74 6f 20 77 72 61 70  tChannel to wrap
11c70 20 75 70 20 65 78 69 73 74 69 6e 67 20 66 64 73   up existing fds
11c80 20 61 6e 64 20 73 6f 63 6b 65 74 73 20 69 6e 74   and sockets int
11c90 6f 0a 63 68 61 6e 6e 65 6c 73 2e 20 50 72 6f 76  o.channels. Prov
11ca0 69 64 65 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74  ided implementat
11cb0 69 6f 6e 73 20 6f 6e 20 55 6e 69 78 20 61 6e 64  ions on Unix and
11cc0 20 57 69 6e 64 6f 77 73 2e 20 28 4a 4c 29 0a 0a   Windows. (JL)..
11cd0 32 2f 31 33 2f 39 36 20 28 62 75 67 20 66 69 78  2/13/96 (bug fix
11ce0 29 20 46 69 78 65 64 20 62 75 67 20 77 69 74 68  ) Fixed bug with
11cf0 20 73 65 65 6b 20 6c 65 61 76 69 6e 67 20 45 4f   seek leaving EO
11d00 46 20 61 6e 64 20 42 4c 4f 43 4b 49 4e 47 20 73  F and BLOCKING s
11d10 65 74 2e 20 28 4a 4c 29 0a 0a 32 2f 31 34 2f 39  et. (JL)..2/14/9
11d20 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  6 (bug fix) Fixe
11d30 64 20 72 65 65 6e 74 72 61 6e 63 79 20 70 72 6f  d reentrancy pro
11d40 62 6c 65 6d 20 69 6e 20 66 69 6c 65 65 76 65 6e  blem in fileeven
11d50 74 20 68 61 6e 64 6c 69 6e 67 0a 61 6e 64 20 6d  t handling.and m
11d60 61 64 65 20 69 74 20 6d 6f 72 65 20 72 6f 62 75  ade it more robu
11d70 73 74 20 69 6e 20 74 68 65 20 66 61 63 65 20 6f  st in the face o
11d80 66 20 65 72 72 6f 72 73 2e 20 28 4a 4c 29 0a 0a  f errors. (JL)..
11d90 32 2f 31 34 2f 39 36 20 28 66 65 61 74 75 72 65  2/14/96 (feature
11da0 20 63 68 61 6e 67 65 29 20 4d 61 64 65 20 67 65   change) Made ge
11db0 6e 65 72 69 63 20 49 4f 20 6c 65 76 65 6c 20 65  neric IO level e
11dc0 6d 75 6c 61 74 65 20 62 6c 6f 63 6b 69 6e 67 20  mulate blocking 
11dd0 6d 6f 64 65 20 69 66 20 74 68 65 0a 63 68 61 6e  mode if the.chan
11de0 6e 65 6c 20 64 72 69 76 65 72 20 69 73 20 75 6e  nel driver is un
11df0 61 62 6c 65 20 74 6f 20 70 72 6f 76 69 64 65 20  able to provide 
11e00 69 74 2c 20 65 2e 67 2e 20 69 66 20 74 68 65 20  it, e.g. if the 
11e10 6c 6f 77 20 6c 65 76 65 6c 20 64 65 76 69 63 65  low level device
11e20 20 69 73 0a 61 6c 77 61 79 73 20 6e 6f 6e 62 6c   is.always nonbl
11e30 6f 63 6b 69 6e 67 2e 20 54 68 75 73 2c 20 6e 6f  ocking. Thus, no
11e40 77 20 62 6c 6f 63 6b 69 6e 67 20 62 65 68 61 76  w blocking behav
11e50 69 6f 72 20 69 73 20 61 6e 20 61 64 76 69 73 6f  ior is an adviso
11e60 72 79 20 73 65 74 74 69 6e 67 20 66 6f 72 0a 63  ry setting for.c
11e70 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 73 20 61  hannel drivers a
11e80 6e 64 20 63 61 6e 20 62 65 20 69 67 6e 6f 72 65  nd can be ignore
11e90 64 20 73 61 66 65 6c 79 20 69 66 20 74 68 65 20  d safely if the 
11ea0 63 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 20 69  channel driver i
11eb0 73 20 75 6e 61 62 6c 65 0a 74 6f 20 70 72 6f 76  s unable.to prov
11ec0 69 64 65 20 69 74 2e 20 28 4a 4c 29 0a 0a 32 2f  ide it. (JL)..2/
11ed0 31 35 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75  15/96 (new featu
11ee0 72 65 29 20 41 64 64 65 64 20 22 62 69 6e 61 72  re) Added "binar
11ef0 79 22 20 65 6e 64 20 6f 66 20 6c 69 6e 65 20 74  y" end of line t
11f00 72 61 6e 73 6c 61 74 69 6f 6e 20 6d 6f 64 65 2c  ranslation mode,
11f10 20 77 68 69 63 68 20 69 73 0a 61 20 73 79 6e 6f   which is.a syno
11f20 6e 79 6d 20 6f 66 20 22 6c 66 22 20 6d 6f 64 65  nym of "lf" mode
11f30 2e 20 28 4a 4c 29 0a 0a 32 2f 31 35 2f 39 36 20  . (JL)..2/15/96 
11f40 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
11f50 72 65 65 6e 74 72 61 6e 63 79 20 70 72 6f 62 6c  reentrancy probl
11f60 65 6d 20 69 6e 20 66 69 6c 65 65 76 65 6e 74 20  em in fileevent 
11f70 68 61 6e 64 6c 69 6e 67 20 76 73 0a 64 65 6c 65  handling vs.dele
11f80 74 69 6f 6e 20 6f 66 20 63 68 61 6e 6e 65 6c 20  tion of channel 
11f90 65 76 65 6e 74 20 68 61 6e 64 6c 65 72 73 2e 20  event handlers. 
11fa0 28 4a 4c 29 0a 0a 32 2f 31 35 2f 39 36 20 28 62  (JL)..2/15/96 (b
11fb0 75 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75  ug fix) Fixed bu
11fc0 67 20 69 6e 20 65 76 65 6e 74 20 68 61 6e 64 6c  g in event handl
11fd0 69 6e 67 20 77 68 69 63 68 20 77 6f 75 6c 64 20  ing which would 
11fe0 63 61 75 73 65 20 61 0a 6e 6f 6e 62 6c 6f 63 6b  cause a.nonblock
11ff0 69 6e 67 20 63 68 61 6e 6e 65 6c 20 74 6f 20 6e  ing channel to n
12000 6f 74 20 73 65 65 20 66 75 72 74 68 65 72 20 72  ot see further r
12010 65 61 64 61 62 6c 65 20 65 76 65 6e 74 73 20 61  eadable events a
12020 66 74 65 72 20 74 68 65 20 66 69 72 73 74 0a 72  fter the first.r
12030 65 61 64 61 62 6c 65 20 65 76 65 6e 74 20 74 68  eadable event th
12040 61 74 20 68 61 64 20 69 6e 73 75 66 66 69 63 69  at had insuffici
12050 65 6e 74 20 69 6e 70 75 74 2e 20 28 4a 4c 29 0a  ent input. (JL).
12060 0a 32 2f 31 37 2f 39 36 20 28 62 75 67 20 66 69  .2/17/96 (bug fi
12070 78 29 20 22 69 6e 66 6f 20 63 6f 6d 70 6c 65 74  x) "info complet
12080 65 22 20 64 69 64 6e 27 74 20 70 72 6f 70 65 72  e" didn't proper
12090 6c 79 20 68 61 6e 64 6c 65 20 63 6f 6d 6d 65 6e  ly handle commen
120a0 74 73 0a 69 6e 20 6e 65 73 74 65 64 20 63 6f 6d  ts.in nested com
120b0 6d 61 6e 64 73 2e 20 28 4a 4f 29 0a 0a 32 2f 32  mands. (JO)..2/2
120c0 31 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 22  1/96 (bug fix) "
120d0 65 78 65 63 22 20 75 6e 64 65 72 20 57 69 6e 64  exec" under Wind
120e0 6f 77 73 20 4e 54 2f 39 35 20 64 69 64 20 6e 6f  ows NT/95 did no
120f0 74 20 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c  t properly handl
12100 65 0a 76 65 72 79 20 6c 6f 6e 67 20 63 6f 6d 6d  e.very long comm
12110 61 6e 64 20 6c 69 6e 65 73 20 28 3e 32 30 30 20  and lines (>200 
12120 63 68 61 72 73 29 2e 20 28 53 53 29 0a 0a 32 2f  chars). (SS)..2/
12130 32 31 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  21/96 (bug fix) 
12140 53 6f 63 6b 65 74 73 20 63 6f 75 6c 64 20 67 65  Sockets could ge
12150 74 20 69 6e 74 6f 20 61 6e 20 69 6e 66 69 6e 69  t into an infini
12160 74 65 20 6c 6f 6f 70 20 69 66 20 61 20 72 65 61  te loop if a rea
12170 64 0a 65 76 65 6e 74 20 61 72 72 69 76 65 64 20  d.event arrived 
12180 61 66 74 65 72 20 61 6c 6c 20 6f 66 20 74 68 65  after all of the
12190 20 61 76 61 69 6c 61 62 6c 65 20 64 61 74 61 20   available data 
121a0 68 61 64 20 62 65 65 6e 20 72 65 61 64 2e 20 28  had been read. (
121b0 53 53 29 0a 0a 32 2f 32 32 2f 39 36 20 28 62 75  SS)..2/22/96 (bu
121c0 67 20 66 69 78 29 20 41 64 64 65 64 20 63 61 73  g fix) Added cas
121d0 74 20 6f 66 20 73 74 5f 73 69 7a 65 20 65 6c 65  t of st_size ele
121e0 6d 65 6e 74 73 20 74 6f 20 28 6c 6f 6e 67 29 20  ments to (long) 
121f0 62 65 66 6f 72 65 0a 73 70 72 69 6e 74 66 2d 69  before.sprintf-i
12200 6e 67 20 69 6e 20 22 66 69 6c 65 20 73 69 7a 65  ng in "file size
12210 22 20 63 6f 6d 6d 61 6e 64 2e 20 20 54 68 69 73  " command.  This
12220 20 69 73 20 6e 65 65 64 65 64 20 74 6f 20 68 61   is needed to ha
12230 6e 64 6c 65 20 73 79 73 74 65 6d 73 0a 6c 69 6b  ndle systems.lik
12240 65 20 4e 65 74 42 53 44 20 77 69 74 68 20 36 34  e NetBSD with 64
12250 2d 62 69 74 20 66 69 6c 65 20 6f 66 66 73 65 74  -bit file offset
12260 73 2e 20 20 28 4a 4f 29 0a 0a 2d 2d 2d 2d 2d 2d  s.  (JO)..------
12270 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65  ----------- Rele
12280 61 73 65 64 20 37 2e 35 62 32 2c 20 32 2f 32 33  ased 7.5b2, 2/23
12290 2f 39 36 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  /96 ------------
122a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 32 2f 32  -----------..2/2
122b0 33 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 54  3/96 (bug fix) T
122c0 43 4c 5f 56 41 52 41 52 47 53 20 6d 61 63 72 6f  CL_VARARGS macro
122d0 20 69 6e 20 74 63 6c 2e 68 20 77 61 73 6e 27 74   in tcl.h wasn't
122e0 20 64 65 66 69 6e 65 64 20 70 72 6f 70 65 72 6c   defined properl
122f0 79 0a 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67  y.when compiling
12300 20 77 69 74 68 20 43 2b 2b 2e 20 20 28 4a 4f 29   with C++.  (JO)
12310 0a 0a 32 2f 32 34 2f 39 36 20 28 62 75 67 20 66  ..2/24/96 (bug f
12320 69 78 29 20 52 65 6d 6f 76 65 64 20 64 65 70 65  ix) Removed depe
12330 6e 64 65 6e 63 69 65 73 20 6f 6e 20 4d 61 6b 65  ndencies on Make
12340 66 69 6c 65 20 69 6e 20 74 68 65 20 55 4e 49 58  file in the UNIX
12350 20 4d 61 6b 65 66 69 6c 65 3a 0a 74 68 69 73 20   Makefile:.this 
12360 63 61 75 73 65 64 20 70 72 6f 62 6c 65 6d 73 20  caused problems 
12370 6f 6e 20 73 6f 6d 65 20 70 6c 61 74 66 6f 72 6d  on some platform
12380 73 20 28 6c 69 6b 65 20 4c 69 6e 75 78 3f 29 2e  s (like Linux?).
12390 20 28 4a 4f 29 0a 0a 32 2f 32 34 2f 39 36 20 28   (JO)..2/24/96 (
123a0 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 63  bug fix) Fixed c
123b0 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 62 75 67  onfiguration bug
123c0 20 74 68 61 74 20 6d 61 64 65 20 54 63 6c 20 6e   that made Tcl n
123d0 6f 74 20 63 6f 6d 70 69 6c 65 0a 63 6f 72 72 65  ot compile.corre
123e0 63 74 6c 79 20 6f 6e 20 4c 69 6e 75 78 20 6d 61  ctly on Linux ma
123f0 63 68 69 6e 65 73 20 77 69 74 68 20 6e 65 69 74  chines with neit
12400 68 65 72 20 2d 6c 64 6c 20 6f 72 20 2d 6c 64 6c  her -ldl or -ldl
12410 64 2e 20 28 4a 4f 29 0a 0a 32 2f 32 34 2f 39 36  d. (JO)..2/24/96
12420 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41   (new feature) A
12430 64 64 65 64 20 61 20 62 6c 6f 63 6b 20 6f 66 20  dded a block of 
12440 63 6f 6d 6d 65 6e 74 73 20 61 6e 64 20 64 65 66  comments and def
12450 69 6e 69 74 69 6f 6e 73 20 74 6f 0a 4d 61 6b 65  initions to.Make
12460 66 69 6c 65 2e 69 6e 20 74 6f 20 6d 61 6b 65 20  file.in to make 
12470 69 74 20 65 61 73 69 65 72 20 74 6f 20 68 61 76  it easier to hav
12480 65 20 54 63 6c 27 73 20 54 63 6c 53 65 74 45 6e  e Tcl's TclSetEn
12490 76 20 65 74 63 2e 20 72 65 70 6c 61 63 65 0a 74  v etc. replace.t
124a0 68 65 20 6c 69 62 72 61 72 79 20 70 72 6f 63 65  he library proce
124b0 64 75 72 65 73 20 73 65 74 65 6e 76 20 65 74 63  dures setenv etc
124c0 2c 20 73 6f 20 74 68 61 74 20 63 61 6c 6c 73 20  , so that calls 
124d0 74 6f 20 73 65 74 65 6e 76 20 65 74 63 2e 20 69  to setenv etc. i
124e0 6e 0a 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f  n.the applicatio
124f0 6e 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20  n automatically 
12500 75 70 64 61 74 65 20 74 68 65 20 54 63 6c 20 22  update the Tcl "
12510 65 6e 76 22 20 76 61 72 69 61 62 6c 65 2e 20 28  env" variable. (
12520 4a 4f 29 0a 0a 32 2f 32 37 2f 39 36 20 28 66 65  JO)..2/27/96 (fe
12530 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 41 64  ature change) Ad
12540 64 65 64 20 6f 70 74 69 6f 6e 61 6c 20 54 63 6c  ded optional Tcl
12550 5f 49 6e 74 65 72 70 20 2a 20 61 72 67 75 6d 65  _Interp * argume
12560 6e 74 20 28 6d 61 79 20 62 65 20 4e 55 4c 4c 29  nt (may be NULL)
12570 0a 74 6f 20 43 20 41 50 49 20 54 63 6c 5f 43 6c  .to C API Tcl_Cl
12580 6f 73 65 20 61 6e 64 20 73 69 6d 70 6c 69 66 69  ose and simplifi
12590 65 64 20 63 6c 6f 73 69 6e 67 20 6f 66 20 63 6f  ed closing of co
125a0 6d 6d 61 6e 64 20 63 68 61 6e 6e 65 6c 73 2e 20  mmand channels. 
125b0 28 4a 4c 29 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41  (JL).*** INCOMPA
125c0 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54 63  TIBILITY with Tc
125d0 6c 20 37 2e 35 62 32 2c 20 62 75 74 20 6e 6f 74  l 7.5b2, but not
125e0 20 77 69 74 68 20 54 63 6c 20 37 2e 34 20 2a 2a   with Tcl 7.4 **
125f0 2a 0a 0a 32 2f 32 37 2f 39 36 20 28 66 65 61 74  *..2/27/96 (feat
12600 75 72 65 20 63 68 61 6e 67 65 29 20 41 64 64 65  ure change) Adde
12610 64 20 6f 70 74 69 6f 6e 61 6c 20 54 63 6c 5f 49  d optional Tcl_I
12620 6e 74 65 72 70 20 2a 20 61 72 67 75 6d 65 6e 74  nterp * argument
12630 20 28 6d 61 79 20 62 65 20 4e 55 4c 4c 29 0a 74   (may be NULL).t
12640 6f 20 43 20 74 79 70 65 20 64 65 66 69 6e 69 74  o C type definit
12650 69 6f 6e 20 54 63 6c 5f 44 72 69 76 65 72 43 6c  ion Tcl_DriverCl
12660 6f 73 65 50 72 6f 63 3b 20 6d 6f 64 69 66 69 65  oseProc; modifie
12670 64 20 61 6c 6c 20 63 68 61 6e 6e 65 6c 20 64 72  d all channel dr
12680 69 76 65 72 73 20 74 6f 0a 69 6d 70 6c 65 6d 65  ivers to.impleme
12690 6e 74 20 63 6c 6f 73 65 20 70 72 6f 63 65 64 75  nt close procedu
126a0 72 65 73 20 74 68 61 74 20 61 63 63 65 70 74 20  res that accept 
126b0 74 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 61  the additional a
126c0 72 67 75 6d 65 6e 74 2e 20 28 4a 4c 29 0a 2a 2a  rgument. (JL).**
126d0 2a 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  * INCOMPATIBILIT
126e0 59 20 77 69 74 68 20 54 63 6c 20 37 2e 35 62 32  Y with Tcl 7.5b2
126f0 2c 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20 54  , but not with T
12700 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a 32 2f 32 38  cl 7.4 ***..2/28
12710 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69  /96 (bug fix) Fi
12720 78 65 64 20 6d 65 6d 6f 72 79 20 6c 65 61 6b 20  xed memory leak 
12730 74 68 61 74 20 63 6f 75 6c 64 20 6f 63 63 75 72  that could occur
12740 20 69 66 20 61 6e 20 75 70 76 61 72 0a 72 65 66   if an upvar.ref
12750 65 72 72 65 64 20 74 6f 20 61 6e 20 65 6c 65 6d  erred to an elem
12760 65 6e 74 20 6f 66 20 61 6e 20 61 72 72 61 79 20  ent of an array 
12770 69 6e 20 74 68 65 20 73 61 6d 65 20 73 74 61 63  in the same stac
12780 6b 20 66 72 61 6d 65 20 61 73 20 74 68 65 0a 75  k frame as the.u
12790 70 76 61 72 2e 20 28 4a 4f 29 0a 0a 32 2f 32 39  pvar. (JO)..2/29
127a0 2f 39 36 20 28 66 65 61 74 75 72 65 20 63 68 61  /96 (feature cha
127b0 6e 67 65 29 20 4d 6f 64 69 66 69 65 64 20 62 6f  nge) Modified bo
127c0 74 68 20 54 63 6c 5f 44 6f 4f 6e 65 45 76 65 6e  th Tcl_DoOneEven
127d0 74 20 61 6e 64 20 54 63 6c 5f 57 61 69 74 46 6f  t and Tcl_WaitFo
127e0 72 45 76 65 6e 74 0a 73 6f 20 74 68 61 74 20 74  rEvent.so that t
127f0 68 65 79 20 72 65 74 75 72 6e 20 69 6d 6d 65 64  hey return immed
12800 69 61 74 65 6c 79 20 69 6e 20 63 61 73 65 73 20  iately in cases 
12810 77 68 65 72 65 20 74 68 65 79 20 77 6f 75 6c 64  where they would
12820 20 6f 74 68 65 72 77 69 73 65 0a 62 6c 6f 63 6b   otherwise.block
12830 20 66 6f 72 65 76 65 72 20 28 65 2e 67 2e 20 69   forever (e.g. i
12840 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 65  f there are no e
12850 76 65 6e 74 20 68 61 6e 64 6c 65 72 73 20 6f 66  vent handlers of
12860 20 61 6e 79 20 73 6f 72 74 29 2e 20 28 4a 4f 29   any sort). (JO)
12870 0a 0a 32 2f 32 39 2f 39 36 20 28 6e 65 77 20 66  ..2/29/96 (new f
12880 65 61 74 75 72 65 29 20 41 64 64 65 64 20 43 20  eature) Added C 
12890 41 50 49 73 20 54 63 6c 5f 47 65 74 43 68 61 6e  APIs Tcl_GetChan
128a0 6e 65 6c 42 75 66 66 65 72 53 69 7a 65 20 61 6e  nelBufferSize an
128b0 64 0a 54 63 6c 5f 53 65 74 43 68 61 6e 6e 65 6c  d.Tcl_SetChannel
128c0 42 75 66 66 65 72 53 69 7a 65 20 74 6f 20 73 65  BufferSize to se
128d0 74 20 61 6e 64 20 72 65 74 72 69 65 76 65 20 74  t and retrieve t
128e0 68 65 20 73 69 7a 65 2c 20 69 6e 20 62 79 74 65  he size, in byte
128f0 73 2c 20 66 6f 72 0a 62 75 66 66 65 72 73 20 61  s, for.buffers a
12900 6c 6c 6f 63 61 74 65 64 20 74 6f 20 73 74 6f 72  llocated to stor
12910 65 20 69 6e 70 75 74 20 6f 72 20 6f 75 74 70 75  e input or outpu
12920 74 20 69 6e 20 61 20 63 68 61 6e 6e 65 6c 2e 20  t in a channel. 
12930 28 4a 4c 29 0a 0a 32 2f 32 39 2f 39 36 20 28 6e  (JL)..2/29/96 (n
12940 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65  ew feature) Adde
12950 64 20 6f 70 74 69 6f 6e 20 2d 62 75 66 66 65 72  d option -buffer
12960 73 69 7a 65 20 74 6f 20 54 63 6c 20 66 63 6f 6e  size to Tcl fcon
12970 66 69 67 75 72 65 20 63 6f 6d 6d 61 6e 64 0a 74  figure command.t
12980 6f 20 61 6c 6c 6f 77 20 54 63 6c 20 73 63 72 69  o allow Tcl scri
12990 70 74 73 20 74 6f 20 71 75 65 72 79 20 61 6e 64  pts to query and
129a0 20 73 65 74 20 74 68 65 20 73 69 7a 65 20 6f 66   set the size of
129b0 20 63 68 61 6e 6e 65 6c 20 62 75 66 66 65 72 73   channel buffers
129c0 2e 20 28 4a 4c 29 0a 0a 32 2f 32 39 2f 39 36 20  . (JL)..2/29/96 
129d0 28 66 65 61 74 75 72 65 20 72 65 6d 6f 76 65 64  (feature removed
129e0 29 20 52 65 6d 6f 76 65 64 20 63 68 61 6e 6e 65  ) Removed channe
129f0 6c 20 64 72 69 76 65 72 20 66 75 6e 63 74 69 6f  l driver functio
12a00 6e 20 74 6f 20 73 70 65 63 69 66 79 0a 74 68 65  n to specify.the
12a10 20 62 75 66 66 65 72 20 73 69 7a 65 20 74 6f 20   buffer size to 
12a20 75 73 65 20 77 68 65 6e 20 61 6c 6c 6f 63 61 74  use when allocat
12a30 69 6e 67 20 61 20 62 75 66 66 65 72 2e 20 52 65  ing a buffer. Re
12a40 6d 6f 76 65 64 20 74 68 65 20 43 20 74 79 70 65  moved the C type
12a50 64 65 66 0a 66 6f 72 20 54 63 6c 5f 44 72 69 76  def.for Tcl_Driv
12a60 65 72 42 75 66 66 65 72 53 69 7a 65 50 72 6f 63  erBufferSizeProc
12a70 2e 20 43 68 61 6e 6e 65 6c 73 20 61 72 65 20 6e  . Channels are n
12a80 6f 77 20 63 72 65 61 74 65 64 20 77 69 74 68 20  ow created with 
12a90 61 20 64 65 66 61 75 6c 74 0a 62 75 66 66 65 72  a default.buffer
12aa0 20 73 69 7a 65 20 6f 66 20 34 4b 2e 20 28 4a 4c   size of 4K. (JL
12ab0 29 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54 49 42  ).*** INCOMPATIB
12ac0 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20 37  ILITY with Tcl 7
12ad0 2e 35 62 32 2c 20 62 75 74 20 6e 6f 74 20 77 69  .5b2, but not wi
12ae0 74 68 20 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a  th Tcl 7.4 ***..
12af0 32 2f 32 39 2f 39 36 20 28 66 65 61 74 75 72 65  2/29/96 (feature
12b00 20 63 68 61 6e 67 65 29 20 54 68 65 20 63 68 61   change) The cha
12b10 6e 6e 65 6c 20 64 72 69 76 65 72 20 66 75 6e 63  nnel driver func
12b20 74 69 6f 6e 20 66 6f 72 20 73 65 74 74 69 6e 67  tion for setting
12b30 20 62 6c 6f 63 6b 69 6e 67 0a 6d 6f 64 65 20 6f   blocking.mode o
12b40 6e 20 74 68 65 20 64 65 76 69 63 65 20 6d 61 79  n the device may
12b50 20 6e 6f 77 20 62 65 20 4e 55 4c 4c 2e 20 49 66   now be NULL. If
12b60 20 74 68 65 20 67 65 6e 65 72 69 63 20 63 6f 64   the generic cod
12b70 65 20 64 65 74 65 63 74 73 20 74 68 61 74 20 74  e detects that t
12b80 68 65 0a 66 75 6e 63 74 69 6f 6e 20 69 73 20 4e  he.function is N
12b90 55 4c 4c 2c 20 6f 70 65 72 61 74 69 6f 6e 73 20  ULL, operations 
12ba0 74 68 61 74 20 73 65 74 20 74 68 65 20 62 6c 6f  that set the blo
12bb0 63 6b 69 6e 67 20 6d 6f 64 65 20 6f 6e 20 74 68  cking mode on th
12bc0 65 20 63 68 61 6e 6e 65 6c 0a 73 69 6d 70 6c 79  e channel.simply
12bd0 20 73 75 63 63 65 65 64 2e 20 28 4a 4c 29 0a 0a   succeed. (JL)..
12be0 33 2f 32 2f 39 36 20 28 62 75 67 20 66 69 78 29  3/2/96 (bug fix)
12bf0 20 46 69 78 65 64 20 63 6f 72 65 20 64 75 6d 70   Fixed core dump
12c00 20 74 68 61 74 20 63 6f 75 6c 64 20 6f 63 63 75   that could occu
12c10 72 20 69 66 20 61 20 73 79 6e 74 61 78 20 65 72  r if a syntax er
12c20 72 6f 72 0a 28 73 75 63 68 20 61 73 20 6d 69 73  ror.(such as mis
12c30 73 69 6e 67 20 63 6c 6f 73 65 20 70 61 72 65 6e  sing close paren
12c40 29 20 6f 63 63 75 72 72 65 64 20 69 6e 20 61 6e  ) occurred in an
12c50 20 61 72 72 61 79 20 72 65 66 65 72 65 6e 63 65   array reference
12c60 20 77 69 74 68 20 61 0a 76 65 72 79 20 6c 6f 6e   with a.very lon
12c70 67 20 61 72 72 61 79 20 6e 61 6d 65 2e 20 28 4a  g array name. (J
12c80 4f 29 0a 0a 33 2f 34 2f 39 36 20 28 62 75 67 20  O)..3/4/96 (bug 
12c90 66 69 78 29 20 52 65 6d 6f 76 65 64 20 63 6f 64  fix) Removed cod
12ca0 65 20 69 6e 20 74 68 65 20 22 61 75 74 6f 5f 6c  e in the "auto_l
12cb0 6f 61 64 22 20 70 72 6f 63 65 64 75 72 65 20 74  oad" procedure t
12cc0 68 61 74 20 64 65 6c 65 74 65 73 0a 61 6c 6c 20  hat deletes.all 
12cd0 65 78 69 73 74 69 6e 67 20 61 75 74 6f 2d 6c 6f  existing auto-lo
12ce0 61 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 77  ad information w
12cf0 68 65 6e 65 76 65 72 20 74 68 65 20 22 61 75 74  henever the "aut
12d00 6f 5f 70 61 74 68 22 20 76 61 72 69 61 62 6c 65  o_path" variable
12d10 0a 69 73 20 63 68 61 6e 67 65 64 2e 20 20 49 6e  .is changed.  In
12d20 73 74 65 61 64 2c 20 6e 65 77 20 69 6e 66 6f 72  stead, new infor
12d30 6d 61 74 69 6f 6e 20 61 64 64 73 20 74 6f 20 77  mation adds to w
12d40 68 61 74 20 77 61 73 20 61 6c 72 65 61 64 79 20  hat was already 
12d50 74 68 65 72 65 2e 0a 4f 74 68 65 72 77 69 73 65  there..Otherwise
12d60 2c 20 63 68 61 6e 67 69 6e 67 20 74 68 65 20 22  , changing the "
12d70 61 75 74 6f 5f 70 61 74 68 22 20 76 61 72 69 61  auto_path" varia
12d80 62 6c 65 20 63 61 75 73 65 73 20 61 6c 6c 20 70  ble causes all p
12d90 61 63 6b 61 67 65 2d 0a 72 65 6c 61 74 65 64 20  ackage-.related 
12da0 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 6f 20 62  information to b
12db0 65 20 6c 6f 73 74 2e 20 20 49 66 20 79 6f 75 20  e lost.  If you 
12dc0 72 65 61 6c 6c 79 20 77 61 6e 74 20 74 6f 20 67  really want to g
12dd0 65 74 20 72 69 64 20 6f 66 0a 65 78 69 73 74 69  et rid of.existi
12de0 6e 67 20 61 75 74 6f 2d 6c 6f 61 64 20 69 6e 66  ng auto-load inf
12df0 6f 72 6d 61 74 69 6f 6e 2c 20 75 73 65 20 61 75  ormation, use au
12e00 74 6f 5f 72 65 73 65 74 20 62 65 66 6f 72 65 20  to_reset before 
12e10 73 65 74 74 69 6e 67 20 61 75 74 6f 5f 70 61 74  setting auto_pat
12e20 68 2e 20 28 4a 4f 29 0a 0a 33 2f 35 2f 39 36 20  h. (JO)..3/5/96 
12e30 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
12e40 64 65 64 20 76 65 72 73 69 6f 6e 20 73 75 66 66  ded version suff
12e50 69 78 20 74 6f 20 73 68 61 72 65 64 20 6c 69 62  ix to shared lib
12e60 72 61 72 79 20 6e 61 6d 65 73 20 73 6f 20 74 68  rary names so th
12e70 61 74 0a 54 63 6c 20 77 69 6c 6c 20 63 6f 6d 70  at.Tcl will comp
12e80 69 6c 65 20 75 6e 64 65 72 20 4e 65 74 42 53 44  ile under NetBSD
12e90 20 61 6e 64 20 46 72 65 65 42 53 44 20 28 49 20   and FreeBSD (I 
12ea0 68 6f 70 65 29 2e 20 20 28 4a 4f 29 0a 0a 33 2f  hope).  (JO)..3/
12eb0 36 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 43  6/96 (bug fix) C
12ec0 6c 65 61 6e 65 64 20 75 70 20 65 72 72 6f 72 20  leaned up error 
12ed0 6d 65 73 73 61 67 65 73 20 69 6e 20 6e 65 77 20  messages in new 
12ee0 49 2f 4f 20 73 79 73 74 65 6d 20 74 6f 20 63 6f  I/O system to co
12ef0 72 72 65 73 70 6f 6e 64 0a 6d 6f 72 65 20 63 6c  rrespond.more cl
12f00 6f 73 65 6c 79 20 74 6f 20 6f 6c 64 20 49 2f 4f  osely to old I/O
12f10 20 73 79 73 74 65 6d 2e 20 28 4a 4f 29 0a 0a 33   system. (JO)..3
12f20 2f 36 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75  /6/96 (new featu
12f30 72 65 29 20 41 64 64 65 64 20 2d 6d 79 61 64 64  re) Added -myadd
12f40 72 20 61 6e 64 20 2d 6d 79 70 6f 72 74 20 6f 70  r and -myport op
12f50 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 73 6f 63  tions to the soc
12f60 6b 65 74 0a 63 6f 6d 6d 61 6e 64 2c 20 72 65 6d  ket.command, rem
12f70 6f 76 65 64 20 2d 74 63 70 20 61 6e 64 20 2d 2d  oved -tcp and --
12f80 20 6f 70 74 69 6f 6e 73 2e 20 20 54 68 69 73 20   options.  This 
12f90 6c 65 74 73 20 63 6c 69 65 6e 74 73 20 61 6e 64  lets clients and
12fa0 20 73 65 72 76 65 72 73 0a 63 68 6f 6f 73 65 20   servers.choose 
12fb0 61 20 70 61 72 74 69 63 75 6c 61 72 20 69 6e 74  a particular int
12fc0 65 72 66 61 63 65 2e 20 20 41 6c 73 6f 20 63 68  erface.  Also ch
12fd0 61 6e 67 65 64 20 74 68 65 20 64 65 66 61 75 6c  anged the defaul
12fe0 74 20 73 65 72 76 65 72 20 61 64 64 72 65 73 73  t server address
12ff0 0a 66 72 6f 6d 20 74 68 65 20 68 6f 73 74 6e 61  .from the hostna
13000 6d 65 20 74 6f 20 49 4e 41 44 44 52 5f 41 4e 59  me to INADDR_ANY
13010 2e 20 20 54 68 65 20 73 65 72 76 65 72 20 61 63  .  The server ac
13020 63 65 70 74 20 63 61 6c 6c 62 61 63 6b 20 6e 6f  cept callback no
13030 77 20 67 65 74 73 0a 70 61 73 73 65 64 20 74 68  w gets.passed th
13040 65 20 63 6c 69 65 6e 74 27 73 20 70 6f 72 74 20  e client's port 
13050 61 73 20 77 65 6c 6c 20 61 73 20 49 50 20 61 64  as well as IP ad
13060 64 72 65 73 73 2e 20 20 54 68 65 20 43 20 69 6e  dress.  The C in
13070 74 65 72 66 61 63 65 73 20 66 6f 72 0a 54 63 6c  terfaces for.Tcl
13080 5f 4f 70 65 6e 54 63 70 43 6c 69 65 6e 74 20 61  _OpenTcpClient a
13090 6e 64 20 54 63 6c 5f 4f 70 65 6e 54 63 70 53 65  nd Tcl_OpenTcpSe
130a0 72 76 65 72 20 68 61 76 65 20 63 68 61 6e 67 65  rver have change
130b0 64 20 74 6f 20 73 75 70 70 6f 72 74 20 74 68 65  d to support the
130c0 0a 61 62 6f 76 65 20 63 68 61 6e 67 65 73 2e 20  .above changes. 
130d0 28 42 57 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  (BW).*** POTENTI
130e0 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
130f0 54 59 20 77 69 74 68 20 54 63 6c 20 37 2e 35 62  TY with Tcl 7.5b
13100 32 2c 20 62 75 74 20 6e 6f 74 20 77 69 74 68 20  2, but not with 
13110 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a 33 2f 36  Tcl 7.4 ***..3/6
13120 2f 39 36 20 28 63 68 61 6e 67 65 64 20 66 65 61  /96 (changed fea
13130 74 75 72 65 29 20 54 68 65 20 6c 69 62 72 61 72  ture) The librar
13140 79 20 66 75 6e 63 74 69 6f 6e 20 61 75 74 6f 5f  y function auto_
13150 6d 6b 69 6e 64 65 78 20 77 69 6c 6c 20 6e 6f 77  mkindex will now
13160 0a 64 65 66 61 75 6c 74 20 74 6f 20 75 73 69 6e  .default to usin
13170 67 20 74 68 65 20 70 61 74 74 65 72 6e 20 22 2a  g the pattern "*
13180 2e 74 63 6c 22 20 69 66 20 6e 6f 20 70 61 74 74  .tcl" if no patt
13190 65 72 6e 20 69 73 20 67 69 76 65 6e 2e 20 28 52  ern is given. (R
131a0 4a 29 0a 0a 33 2f 36 2f 39 36 20 28 62 75 67 20  J)..3/6/96 (bug 
131b0 66 69 78 29 20 54 68 65 20 73 6f 63 6b 65 74 20  fix) The socket 
131c0 63 68 61 6e 6e 65 6c 20 63 6f 64 65 20 66 6f 72  channel code for
131d0 20 74 68 65 20 4d 61 63 69 6e 74 6f 73 68 20 68   the Macintosh h
131e0 61 73 20 62 65 65 6e 0a 72 65 77 72 69 74 74 65  as been.rewritte
131f0 6e 20 74 6f 20 75 73 65 20 6e 61 74 69 76 65 20  n to use native 
13200 4d 61 63 54 63 70 2e 20 20 28 52 4a 29 0a 0a 33  MacTcp.  (RJ)..3
13210 2f 37 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75  /7/96 (new featu
13220 72 65 29 20 41 64 64 65 64 20 54 63 6c 5f 53 65  re) Added Tcl_Se
13230 74 53 74 64 43 68 61 6e 6e 65 6c 20 61 6e 64 20  tStdChannel and 
13240 54 63 6c 5f 47 65 74 53 74 64 43 68 61 6e 6e 65  Tcl_GetStdChanne
13250 6c 0a 69 6e 74 65 72 66 61 63 65 73 20 74 6f 20  l.interfaces to 
13260 61 6c 6c 6f 77 20 61 70 70 6c 69 63 61 74 69 6f  allow applicatio
13270 6e 73 20 74 6f 20 65 78 70 6c 69 63 69 74 6c 79  ns to explicitly
13280 20 73 65 74 20 61 6e 64 20 67 65 74 20 74 68 65   set and get the
13290 20 67 6c 6f 62 61 6c 0a 73 74 61 6e 64 61 72 64   global.standard
132a0 20 63 68 61 6e 6e 65 6c 73 2e 20 28 53 53 29 0a   channels. (SS).
132b0 0a 33 2f 37 2f 39 36 20 28 62 75 67 20 66 69 78  .3/7/96 (bug fix
132c0 29 20 54 63 6c 20 64 69 64 20 63 6c 6f 73 65 20  ) Tcl did close 
132d0 6e 6f 74 20 74 68 65 20 66 69 6c 65 20 64 65 73  not the file des
132e0 63 72 69 70 74 6f 72 73 20 61 73 73 6f 63 69 61  criptors associa
132f0 74 65 64 0a 77 69 74 68 20 22 73 74 64 6f 75 74  ted.with "stdout
13300 22 2c 20 65 74 63 2e 20 77 68 65 6e 20 74 68 65  ", etc. when the
13310 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 63   corresponding c
13320 68 61 6e 6e 65 6c 73 20 77 65 72 65 20 63 6c 6f  hannels were clo
13330 73 65 64 2e 20 20 28 53 53 29 0a 0a 33 2f 37 2f  sed.  (SS)..3/7/
13340 39 36 20 28 62 75 67 20 66 69 78 29 20 52 65 77  96 (bug fix) Rew
13350 6f 72 6b 65 64 20 73 68 61 72 65 64 20 6c 69 62  orked shared lib
13360 72 61 72 79 20 61 6e 64 20 64 79 6e 61 6d 69 63  rary and dynamic
13370 20 6c 6f 61 64 69 6e 67 20 73 74 75 66 66 20 74   loading stuff t
13380 6f 0a 74 72 79 20 74 6f 20 67 65 74 20 69 74 20  o.try to get it 
13390 77 6f 72 6b 69 6e 67 20 75 6e 64 65 72 20 41 49  working under AI
133a0 58 2e 20 20 41 64 64 65 64 20 6e 65 77 20 40 53  X.  Added new @S
133b0 48 4c 49 42 5f 4c 44 5f 4c 49 42 53 40 20 61 75  [email protected] au
133c0 74 6f 63 6f 6e 66 0a 73 79 6d 62 6f 6c 20 61 73  toconf.symbol as
133d0 20 70 61 72 74 20 6f 66 20 74 68 69 73 2e 20 20   part of this.  
133e0 41 49 58 20 70 72 6f 62 61 62 6c 79 20 64 6f 65  AIX probably doe
133f0 73 6e 27 74 20 77 6f 72 6b 20 79 65 74 2c 20 62  sn't work yet, b
13400 75 74 20 69 74 20 73 68 6f 75 6c 64 0a 62 65 20  ut it should.be 
13410 61 20 6c 6f 74 20 63 6c 6f 73 65 72 2e 20 28 4a  a lot closer. (J
13420 4f 29 0a 0a 33 2f 37 2f 39 36 20 28 66 65 61 74  O)..3/7/96 (feat
13430 75 72 65 20 63 68 61 6e 67 65 29 20 41 64 64 65  ure change) Adde
13440 64 20 54 63 6c 5f 43 68 61 6e 6e 65 6c 50 72 6f  d Tcl_ChannelPro
13450 63 20 74 79 70 65 64 65 66 20 61 6e 64 20 63 68  c typedef and ch
13460 61 6e 67 65 64 20 74 68 65 0a 73 69 67 6e 61 74  anged the.signat
13470 75 72 65 20 6f 66 20 54 63 6c 5f 43 72 65 61 74  ure of Tcl_Creat
13480 65 43 68 61 6e 6e 65 6c 48 61 6e 64 6c 65 72 20  eChannelHandler 
13490 61 6e 64 20 54 63 6c 5f 44 65 6c 65 74 65 43 68  and Tcl_DeleteCh
134a0 61 6e 6e 65 6c 48 61 6e 64 6c 65 72 20 74 6f 20  annelHandler to 
134b0 74 61 6b 65 0a 54 63 6c 5f 43 68 61 6e 6e 65 6c  take.Tcl_Channel
134c0 50 72 6f 63 20 61 72 67 75 6d 65 6e 74 73 20 69  Proc arguments i
134d0 6e 73 74 65 61 64 20 6f 66 20 54 63 6c 5f 46 69  nstead of Tcl_Fi
134e0 6c 65 50 72 6f 63 20 61 72 67 75 6d 65 6e 74 73  leProc arguments
134f0 2e 20 54 68 69 73 20 63 68 61 6e 67 65 0a 73 68  . This change.sh
13500 6f 75 6c 64 20 6e 6f 74 20 61 66 66 65 63 74 20  ould not affect 
13510 61 6e 79 20 63 6f 64 65 20 6f 75 74 73 69 64 65  any code outside
13520 20 54 63 6c 20 62 65 63 61 75 73 65 20 74 68 65   Tcl because the
13530 20 73 69 67 6e 61 74 75 72 65 73 20 6f 66 0a 54   signatures of.T
13540 63 6c 5f 43 68 61 6e 6e 65 6c 50 72 6f 63 20 61  cl_ChannelProc a
13550 6e 64 20 54 63 6c 5f 46 69 6c 65 50 72 6f 63 20  nd Tcl_FileProc 
13560 61 72 65 20 63 6f 6d 70 61 74 69 62 6c 65 2e 20  are compatible. 
13570 28 4a 4c 29 0a 0a 33 2f 37 2f 39 36 20 28 41 50  (JL)..3/7/96 (AP
13580 49 20 63 68 61 6e 67 65 29 20 4d 6f 64 69 66 69  I change) Modifi
13590 65 64 20 73 69 67 6e 61 74 75 72 65 20 6f 66 20  ed signature of 
135a0 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 4f 70  Tcl_GetChannelOp
135b0 74 69 6f 6e 20 74 6f 20 72 65 74 75 72 6e 0a 61  tion to return.a
135c0 6e 20 69 6e 74 20 69 6e 73 74 65 61 64 20 6f 66  n int instead of
135d0 20 63 68 61 72 20 2a 2c 20 61 6e 64 20 74 6f 20   char *, and to 
135e0 74 61 6b 65 20 61 20 54 63 6c 5f 44 53 74 72 69  take a Tcl_DStri
135f0 6e 67 20 2a 20 61 72 67 75 6d 65 6e 74 2e 20 4d  ng * argument. M
13600 6f 64 69 66 69 65 64 0a 74 68 65 20 69 6d 70 6c  odified.the impl
13610 65 6d 65 6e 74 61 74 69 6f 6e 20 73 6f 20 74 68  ementation so th
13620 61 74 20 74 68 65 20 6f 70 74 69 6f 6e 20 6e 61  at the option na
13630 6d 65 20 63 61 6e 20 62 65 20 4e 55 4c 4c 2c 20  me can be NULL, 
13640 74 6f 20 6d 65 61 6e 20 74 68 61 74 20 74 68 65  to mean that the
13650 0a 63 61 6c 6c 20 73 68 6f 75 6c 64 20 72 65 74  .call should ret
13660 72 69 65 76 65 20 61 20 6c 69 73 74 20 6f 66 20  rieve a list of 
13670 61 6c 74 65 72 6e 61 74 69 6e 67 20 6f 70 74 69  alternating opti
13680 6f 6e 20 6e 61 6d 65 73 20 61 6e 64 20 76 61 6c  on names and val
13690 75 65 73 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 49 4e  ues. (JL).*** IN
136a0 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69  COMPATIBILITY wi
136b0 74 68 20 54 63 6c 20 37 2e 35 62 32 2c 20 62 75  th Tcl 7.5b2, bu
136c0 74 20 6e 6f 74 20 77 69 74 68 20 54 63 6c 20 37  t not with Tcl 7
136d0 2e 34 20 2a 2a 2a 0a 0a 33 2f 37 2f 39 36 20 28  .4 ***..3/7/96 (
136e0 41 50 49 20 63 68 61 6e 67 65 29 20 41 64 64 65  API change) Adde
136f0 64 20 54 63 6c 5f 44 72 69 76 65 72 53 65 74 4f  d Tcl_DriverSetO
13700 70 74 69 6f 6e 50 72 6f 63 2c 20 54 63 6c 5f 44  ptionProc, Tcl_D
13710 72 69 76 65 72 47 65 74 4f 70 74 69 6f 6e 50 72  riverGetOptionPr
13720 6f 63 0a 74 79 70 65 64 65 66 73 2c 20 61 64 64  oc.typedefs, add
13730 65 64 20 74 77 6f 20 73 6c 6f 74 73 20 73 65 74  ed two slots set
13740 4f 70 74 69 6f 6e 50 72 6f 63 20 61 6e 64 20 67  OptionProc and g
13750 65 74 4f 70 74 69 6f 6e 50 72 6f 63 20 74 6f 20  etOptionProc to 
13760 74 68 65 20 63 68 61 6e 6e 65 6c 0a 74 79 70 65  the channel.type
13770 20 73 74 72 75 63 74 75 72 65 2e 20 54 68 65 73   structure. Thes
13780 65 20 6d 61 79 20 62 65 20 4e 55 4c 4c 20 74 6f  e may be NULL to
13790 20 69 6e 64 69 63 61 74 65 20 74 68 61 74 20 74   indicate that t
137a0 68 65 20 63 68 61 6e 6e 65 6c 20 74 79 70 65 20  he channel type 
137b0 64 6f 65 73 0a 6e 6f 74 20 73 75 70 70 6f 72 74  does.not support
137c0 20 61 6e 79 20 6f 70 74 69 6f 6e 73 2e 20 28 4a   any options. (J
137d0 4c 29 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54 49  L).*** INCOMPATI
137e0 42 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20  BILITY with Tcl 
137f0 37 2e 35 62 32 2c 20 62 75 74 20 6e 6f 74 20 77  7.5b2, but not w
13800 69 74 68 20 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a  ith Tcl 7.4 ***.
13810 0a 33 2f 37 2f 39 36 20 28 66 65 61 74 75 72 65  .3/7/96 (feature
13820 20 63 68 61 6e 67 65 29 20 73 74 64 69 6e 2c 20   change) stdin, 
13830 73 74 64 6f 75 74 20 61 6e 64 20 73 74 64 65 72  stdout and stder
13840 72 20 63 61 6e 20 6e 6f 77 20 62 65 20 70 75 74  r can now be put
13850 20 69 6e 74 6f 0a 6e 6f 6e 62 6c 6f 63 6b 69 6e   into.nonblockin
13860 67 20 6d 6f 64 65 2e 20 28 4a 4c 29 0a 0a 33 2f  g mode. (JL)..3/
13870 38 2f 39 36 20 28 66 65 61 74 75 72 65 20 63 68  8/96 (feature ch
13880 61 6e 67 65 29 20 45 6c 69 6d 69 6e 61 74 65 64  ange) Eliminated
13890 20 64 65 70 65 6e 64 65 6e 63 65 20 6f 6e 20 74   dependence on t
138a0 68 65 20 72 65 67 69 73 74 72 79 20 66 6f 72 0a  he registry for.
138b0 66 69 6e 64 69 6e 67 20 74 68 65 20 54 63 6c 20  finding the Tcl 
138c0 6c 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20 28  library files. (
138d0 53 53 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  SS)..-----------
138e0 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
138f0 37 2e 35 62 33 2c 20 33 2f 38 2f 39 36 20 2d 2d  7.5b3, 3/8/96 --
13900 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
13910 2d 2d 2d 2d 2d 0a 0a 33 2f 31 32 2f 39 36 20 28  -----..3/12/96 (
13920 66 65 61 74 75 72 65 20 69 6d 70 72 6f 76 65 6d  feature improvem
13930 65 6e 74 29 20 4d 6f 64 69 66 69 65 64 20 73 74  ent) Modified st
13940 61 72 74 75 70 20 73 63 72 69 70 74 20 74 6f 20  artup script to 
13950 6c 6f 6f 6b 20 69 6e 20 73 65 76 65 72 61 6c 0a  look in several.
13960 64 69 66 66 65 72 65 6e 74 20 70 6c 61 63 65 73  different places
13970 20 66 6f 72 20 74 68 65 20 54 63 6c 20 6c 69 62   for the Tcl lib
13980 72 61 72 79 20 64 69 72 65 63 74 6f 72 79 2e 20  rary directory. 
13990 20 54 68 69 73 20 73 68 6f 75 6c 64 20 61 6c 6c   This should all
139a0 6f 77 20 54 63 6c 0a 74 6f 20 66 69 6e 64 20 74  ow Tcl.to find t
139b0 68 65 20 6c 69 62 72 61 72 69 65 73 20 75 6e 64  he libraries und
139c0 65 72 20 61 6c 6c 20 62 75 74 20 74 68 65 20 77  er all but the w
139d0 65 69 72 64 65 73 74 20 63 6f 6e 64 69 74 69 6f  eirdest conditio
139e0 6e 73 2c 20 65 76 65 6e 20 77 69 74 68 6f 75 74  ns, even without
139f0 0a 74 68 65 20 54 43 4c 5f 4c 49 42 52 41 52 59  .the TCL_LIBRARY
13a00 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72   environment var
13a10 69 61 62 6c 65 20 62 65 69 6e 67 20 73 65 74 2e  iable being set.
13a20 20 28 4a 4f 29 0a 0a 33 2f 31 33 2f 39 36 20 28   (JO)..3/13/96 (
13a30 62 75 67 20 66 69 78 29 20 45 6c 69 6d 69 6e 61  bug fix) Elimina
13a40 74 65 64 20 75 73 65 20 6f 66 20 74 68 65 20 22  ted use of the "
13a50 6c 69 6e 67 65 72 22 20 6f 70 74 69 6f 6e 20 66  linger" option f
13a60 72 6f 6d 20 74 68 65 20 57 69 6e 64 6f 77 73 0a  rom the Windows.
13a70 73 6f 63 6b 65 74 20 69 6d 70 6c 65 6d 65 6e 74  socket implement
13a80 61 74 69 6f 6e 2e 20 28 4a 4c 29 0a 0a 33 2f 31  ation. (JL)..3/1
13a90 33 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75 72  3/96 (new featur
13aa0 65 29 20 41 64 64 65 64 20 2d 70 65 65 72 6e 61  e) Added -peerna
13ab0 6d 65 20 61 6e 64 20 2d 73 6f 63 6b 6e 61 6d 65  me and -sockname
13ac0 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 66 63 6f   options for fco
13ad0 6e 66 69 67 75 72 65 0a 66 6f 72 20 73 6f 63 6b  nfigure.for sock
13ae0 65 74 20 63 68 61 6e 6e 65 6c 73 2e 20 43 6f 64  et channels. Cod
13af0 65 20 63 6f 6e 74 72 69 62 75 74 65 64 20 62 79  e contributed by
13b00 20 4a 6f 68 6e 20 48 61 78 62 79 20 6f 66 20 48   John Haxby of H
13b10 50 2e 20 28 4a 4c 29 0a 0a 33 2f 31 33 2f 39 36  P. (JL)..3/13/96
13b20 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
13b30 20 70 61 6e 69 63 20 61 6e 64 20 63 6f 72 65 20   panic and core 
13b40 64 75 6d 70 20 74 68 61 74 20 77 6f 75 6c 64 20  dump that would 
13b50 6f 63 63 75 72 20 69 66 20 74 68 65 20 61 63 63  occur if the acc
13b60 65 70 74 0a 63 61 6c 6c 62 61 63 6b 20 73 63 72  ept.callback scr
13b70 69 70 74 20 6f 6e 20 61 20 73 65 72 76 65 72 20  ipt on a server 
13b80 73 6f 63 6b 65 74 20 65 6e 63 6f 75 6e 74 65 72  socket encounter
13b90 65 64 20 61 6e 20 65 72 72 6f 72 2e 20 28 4a 4c  ed an error. (JL
13ba0 29 0a 0a 33 2f 31 33 2f 39 36 20 28 66 65 61 74  )..3/13/96 (feat
13bb0 75 72 65 20 63 68 61 6e 67 65 29 20 41 64 64 65  ure change) Adde
13bc0 64 20 2d 61 73 79 6e 63 20 6f 70 74 69 6f 6e 20  d -async option 
13bd0 74 6f 20 74 68 65 20 54 63 6c 20 73 6f 63 6b 65  to the Tcl socke
13be0 74 20 63 6f 6d 6d 61 6e 64 2e 0a 49 66 20 74 68  t command..If th
13bf0 65 20 63 6f 6d 6d 61 6e 64 20 69 73 20 63 72 65  e command is cre
13c00 61 74 69 6e 67 20 61 20 63 6c 69 65 6e 74 20 73  ating a client s
13c10 6f 63 6b 65 74 20 61 6e 64 20 74 68 65 20 66 6c  ocket and the fl
13c20 61 67 20 69 73 20 70 72 65 73 65 6e 74 2c 20 74  ag is present, t
13c30 68 65 0a 63 6c 69 65 6e 74 20 69 73 20 63 6f 6e  he.client is con
13c40 6e 65 63 74 65 64 20 61 73 79 6e 63 68 72 6f 6e  nected asynchron
13c50 6f 75 73 6c 79 2e 20 49 66 20 74 68 65 20 6f 70  ously. If the op
13c60 74 69 6f 6e 20 69 73 20 61 62 73 65 6e 74 20 28  tion is absent (
13c70 74 68 65 20 64 65 66 61 75 6c 74 29 2c 0a 74 68  the default),.th
13c80 65 20 63 6c 69 65 6e 74 20 73 6f 63 6b 65 74 20  e client socket 
13c90 69 73 20 63 6f 6e 6e 65 63 74 65 64 20 73 79 6e  is connected syn
13ca0 63 68 72 6f 6e 6f 75 73 6c 79 2c 20 61 6e 64 20  chronously, and 
13cb0 74 68 65 20 63 6f 6d 6d 61 6e 64 20 72 65 74 75  the command retu
13cc0 72 6e 73 20 6f 6e 6c 79 0a 77 68 65 6e 20 74 68  rns only.when th
13cd0 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 68 61 73  e connection has
13ce0 20 62 65 65 6e 20 63 6f 6d 70 6c 65 74 65 64 20   been completed 
13cf0 6f 72 20 66 61 69 6c 65 64 2e 20 54 68 69 73 20  or failed. This 
13d00 63 68 61 6e 67 65 20 77 61 73 20 73 75 67 67 65  change was sugge
13d10 73 74 65 64 0a 62 79 20 4d 61 72 6b 20 44 69 65  sted.by Mark Die
13d20 6b 68 61 6e 73 2e 20 28 4a 4c 29 0a 0a 33 2f 31  khans. (JL)..3/1
13d30 33 2f 39 36 20 28 66 65 61 74 75 72 65 20 63 68  3/96 (feature ch
13d40 61 6e 67 65 29 20 4d 6f 64 69 66 69 65 64 20 74  ange) Modified t
13d50 68 65 20 73 69 67 6e 61 74 75 72 65 20 6f 66 20  he signature of 
13d60 54 63 6c 5f 4f 70 65 6e 54 63 70 43 6c 69 65 6e  Tcl_OpenTcpClien
13d70 74 20 74 6f 0a 74 61 6b 65 20 61 6e 20 61 64 64  t to.take an add
13d80 69 74 69 6f 6e 61 6c 20 69 6e 74 20 61 72 67 75  itional int argu
13d90 6d 65 6e 74 2c 20 61 73 79 6e 63 2e 20 49 66 20  ment, async. If 
13da0 6e 6f 6e 7a 65 72 6f 2c 20 74 68 65 20 63 6c 69  nonzero, the cli
13db0 65 6e 74 20 69 73 20 63 6f 6e 6e 65 63 74 65 64  ent is connected
13dc0 0a 74 6f 20 74 68 65 20 73 65 72 76 65 72 20 61  .to the server a
13dd0 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 2e 20 49  synchronously. I
13de0 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 7a  f the value is z
13df0 65 72 6f 2c 20 74 68 65 20 63 6f 6e 6e 65 63 74  ero, the connect
13e00 69 6f 6e 20 69 73 20 6d 61 64 65 0a 73 79 6e 63  ion is made.sync
13e10 68 72 6f 6e 6f 75 73 6c 79 2c 20 61 6e 64 20 74  hronously, and t
13e20 68 65 20 63 61 6c 6c 20 74 6f 20 54 63 6c 5f 4f  he call to Tcl_O
13e30 70 65 6e 54 63 70 43 6c 69 65 6e 74 20 72 65 74  penTcpClient ret
13e40 75 72 6e 73 20 6f 6e 6c 79 20 77 68 65 6e 20 74  urns only when t
13e50 68 65 0a 63 6f 6e 6e 65 63 74 69 6f 6e 20 66 61  he.connection fa
13e60 69 6c 73 20 6f 72 20 73 75 63 63 65 65 64 73 2e  ils or succeeds.
13e70 20 54 68 69 73 20 63 68 61 6e 67 65 20 77 61 73   This change was
13e80 20 73 75 67 67 65 73 74 65 64 20 62 79 20 4d 61   suggested by Ma
13e90 72 6b 20 44 69 65 6b 68 61 6e 73 2e 20 28 4a 4c  rk Diekhans. (JL
13ea0 29 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54 49 42  ).*** INCOMPATIB
13eb0 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20 37  ILITY with Tcl 7
13ec0 2e 35 62 33 2c 20 62 75 74 20 6e 6f 74 20 77 69  .5b3, but not wi
13ed0 74 68 20 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a  th Tcl 7.4 ***..
13ee0 33 2f 31 34 2f 39 36 20 28 62 75 67 20 66 69 78  3/14/96 (bug fix
13ef0 29 20 22 74 63 6c 73 68 20 62 6f 67 75 73 5f 66  ) "tclsh bogus_f
13f00 69 6c 65 5f 6e 61 6d 65 22 20 64 69 64 6e 27 74  ile_name" didn't
13f10 20 70 72 69 6e 74 20 61 6e 20 65 72 72 6f 72 20   print an error 
13f20 6d 65 73 73 61 67 65 2e 20 28 4a 4f 29 0a 0a 33  message. (JO)..3
13f30 2f 31 34 2f 39 36 20 28 62 75 67 20 66 69 78 29  /14/96 (bug fix)
13f40 20 41 64 64 65 64 20 6e 65 77 20 70 72 6f 63 65   Added new proce
13f50 64 75 72 65 73 20 74 6f 20 74 63 6c 43 6b 61 6c  dures to tclCkal
13f60 6c 6f 63 2e 63 20 73 6f 20 74 68 61 74 20 6c 69  loc.c so that li
13f70 62 72 61 72 69 65 73 0a 61 6e 64 20 61 70 70 6c  braries.and appl
13f80 69 63 61 74 69 6f 6e 73 20 63 61 6e 20 62 65 20  ications can be 
13f90 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 20 54 43  compiled with TC
13fa0 4c 5f 4d 45 4d 5f 44 45 42 55 47 20 65 76 65 6e  L_MEM_DEBUG even
13fb0 20 69 66 20 54 63 6c 20 69 73 6e 27 74 0a 28 68   if Tcl isn't.(h
13fc0 6f 77 65 76 65 72 2c 20 74 68 65 20 63 6f 6e 76  owever, the conv
13fd0 65 72 73 65 20 69 73 20 73 74 69 6c 6c 20 6e 6f  erse is still no
13fe0 74 20 74 72 75 65 29 2e 20 20 50 61 74 63 68 65  t true).  Patche
13ff0 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 4a 61  s provided by Ja
14000 6e 0a 4e 69 6a 74 6d 61 6e 73 2e 20 28 4a 4f 29  n.Nijtmans. (JO)
14010 0a 0a 33 2f 31 35 2f 39 36 20 28 62 75 67 20 66  ..3/15/96 (bug f
14020 69 78 29 20 4d 61 72 6b 65 64 20 73 74 61 6e 64  ix) Marked stand
14030 61 72 64 20 49 4f 20 68 61 6e 64 6c 65 73 20 6f  ard IO handles o
14040 66 20 61 20 70 72 6f 63 65 73 73 20 61 73 20 63  f a process as c
14050 6c 6f 73 65 2d 6f 6e 2d 65 78 65 63 0a 74 6f 20  lose-on-exec.to 
14060 66 69 78 20 62 75 67 20 69 6e 20 55 6c 74 72 69  fix bug in Ultri
14070 78 20 77 68 65 72 65 20 65 78 65 63 20 77 61 73  x where exec was
14080 20 6e 6f 74 20 73 68 61 72 69 6e 67 20 73 74 61   not sharing sta
14090 6e 64 61 72 64 20 49 4f 20 68 61 6e 64 6c 65 73  ndard IO handles
140a0 20 77 69 74 68 0a 73 75 62 70 72 6f 63 65 73 73   with.subprocess
140b0 65 73 2e 20 46 69 78 20 73 75 67 67 65 73 74 65  es. Fix suggeste
140c0 64 20 62 79 20 4d 61 72 6b 20 44 69 65 6b 68 61  d by Mark Diekha
140d0 6e 73 2e 20 28 4a 4c 29 0a 0a 33 2f 31 35 2f 39  ns. (JL)..3/15/9
140e0 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  6 (bug fix) Fixe
140f0 64 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 63  d asynchronous c
14100 6c 6f 73 65 20 6d 65 63 68 61 6e 69 73 6d 20 73  lose mechanism s
14110 6f 20 74 68 61 74 20 69 74 20 63 6c 6f 73 65 73  o that it closes
14120 20 74 68 65 0a 63 68 61 6e 6e 65 6c 20 69 6e 73   the.channel ins
14130 74 65 61 64 20 6f 66 20 6c 65 61 6b 69 6e 67 20  tead of leaking 
14140 73 79 73 74 65 6d 20 72 65 73 6f 75 72 63 65 73  system resources
14150 2e 20 54 68 65 20 6d 61 6e 69 66 65 73 74 61 74  . The manifestat
14160 69 6f 6e 20 77 61 73 20 74 68 61 74 20 54 63 6c  ion was that Tcl
14170 0a 77 6f 75 6c 64 20 65 76 65 6e 74 75 61 6c 6c  .would eventuall
14180 79 20 72 75 6e 20 6f 75 74 20 6f 66 20 66 69 6c  y run out of fil
14190 65 20 64 65 73 63 72 69 70 74 6f 72 73 20 69 66  e descriptors if
141a0 20 69 74 20 77 61 73 20 68 61 6e 64 6c 69 6e 67   it was handling
141b0 20 61 20 6c 61 72 67 65 0a 6e 75 6d 62 65 72 20   a large.number 
141c0 6f 66 20 6e 6f 6e 62 6c 6f 63 6b 69 6e 67 20 73  of nonblocking s
141d0 6f 63 6b 65 74 73 20 6f 72 20 70 69 70 65 73 20  ockets or pipes 
141e0 77 69 74 68 20 68 69 67 68 20 63 6f 6e 67 65 73  with high conges
141f0 74 69 6f 6e 2e 20 28 4a 4c 29 0a 0a 33 2f 31 35  tion. (JL)..3/15
14200 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69  /96 (bug fix) Fi
14210 78 65 64 20 74 65 73 74 73 20 73 6f 20 74 68 61  xed tests so tha
14220 74 20 74 68 65 79 20 6e 6f 20 6c 6f 6e 67 65 72  t they no longer
14230 20 6c 65 61 6b 20 66 69 6c 65 20 64 65 73 63 72   leak file descr
14240 69 70 74 6f 72 73 2e 0a 54 68 65 20 6d 61 6e 69  iptors..The mani
14250 66 65 73 74 61 74 69 6f 6e 20 77 61 73 20 74 68  festation was th
14260 61 74 20 54 63 6c 20 77 6f 75 6c 64 20 65 76 65  at Tcl would eve
14270 6e 74 75 61 6c 6c 79 20 72 75 6e 20 6f 75 74 20  ntually run out 
14280 6f 66 20 66 69 6c 65 20 64 65 73 63 72 69 70 74  of file descript
14290 6f 72 73 0a 69 66 20 74 68 65 20 74 65 73 74 73  ors.if the tests
142a0 20 77 65 72 65 20 72 65 72 75 6e 20 6d 61 6e 79   were rerun many
142b0 20 74 69 6d 65 73 20 28 3e 20 61 20 68 75 6e 64   times (> a hund
142c0 72 65 64 20 74 69 6d 65 73 20 6f 6e 20 53 6f 6c  red times on Sol
142d0 61 72 69 73 29 2e 20 28 4a 4c 29 0a 0a 33 2f 31  aris). (JL)..3/1
142e0 35 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46  5/96 (bug fix) F
142f0 69 78 65 64 20 63 68 61 6e 6e 65 6c 20 63 72 65  ixed channel cre
14300 61 74 69 6f 6e 20 63 6f 64 65 20 73 6f 20 74 68  ation code so th
14310 61 74 20 69 74 20 6e 65 76 65 72 20 63 72 65 61  at it never crea
14320 74 65 73 0a 75 6e 6e 61 6d 65 64 20 63 68 61 6e  tes.unnamed chan
14330 6e 65 6c 73 2e 20 54 68 69 73 20 77 6f 75 6c 64  nels. This would
14340 20 63 61 75 73 65 20 61 20 70 61 6e 69 63 20 61   cause a panic a
14350 6e 64 20 63 6f 72 65 20 64 75 6d 70 20 77 68 65  nd core dump whe
14360 6e 20 74 68 65 20 63 68 61 6e 6e 65 6c 0a 77 61  n the channel.wa
14370 73 20 63 6c 6f 73 65 64 2e 20 28 4a 4c 29 0a 0a  s closed. (JL)..
14380 33 2f 31 36 2f 39 36 20 28 62 75 67 20 66 69 78  3/16/96 (bug fix
14390 65 73 29 20 4d 61 64 65 20 6c 6f 74 73 20 6f 66  es) Made lots of
143a0 20 63 68 61 6e 67 65 73 20 69 6e 20 63 6f 6e 66   changes in conf
143b0 69 67 75 72 61 74 69 6f 6e 20 73 74 75 66 66 20  iguration stuff 
143c0 74 6f 20 67 65 74 0a 54 63 6c 20 77 6f 72 6b 69  to get.Tcl worki
143d0 6e 67 20 75 6e 64 65 72 20 41 49 58 20 28 66 69  ng under AIX (fi
143e0 6e 61 6c 6c 79 29 2e 20 20 54 63 6c 20 73 68 6f  nally).  Tcl sho
143f0 75 6c 64 20 6e 6f 77 20 73 75 70 70 6f 72 74 20  uld now support 
14400 74 68 65 20 22 6c 6f 61 64 22 0a 63 6f 6d 6d 61  the "load".comma
14410 6e 64 20 75 6e 64 65 72 20 41 49 58 20 61 6e 64  nd under AIX and
14420 20 73 68 6f 75 6c 64 20 77 6f 72 6b 20 65 69 74   should work eit
14430 68 65 72 20 77 69 74 68 20 6f 72 20 77 69 74 68  her with or with
14440 6f 75 74 20 73 68 61 72 65 64 0a 6c 69 62 72 61  out shared.libra
14450 72 69 65 73 20 66 6f 72 20 54 63 6c 20 61 6e 64  ries for Tcl and
14460 20 54 6b 2e 20 28 4a 4f 29 0a 0a 33 2f 32 31 2f   Tk. (JO)..3/21/
14470 39 36 20 28 63 6f 6e 66 69 67 75 72 61 74 69 6f  96 (configuratio
14480 6e 20 69 6d 70 72 6f 76 65 6d 65 6e 74 29 20 43  n improvement) C
14490 68 61 6e 67 65 64 20 63 6f 6e 66 69 67 75 72 65  hanged configure
144a0 20 73 63 72 69 70 74 20 73 6f 20 69 74 0a 64 6f   script so it.do
144b0 65 73 6e 27 74 20 75 73 65 20 76 65 72 73 69 6f  esn't use versio
144c0 6e 20 6e 75 6d 62 65 72 73 20 28 61 73 20 69 6e  n numbers (as in
144d0 20 2d 6c 74 63 6c 37 2e 35 20 61 6e 64 20 6c 69   -ltcl7.5 and li
144e0 62 74 63 6c 37 2e 35 2e 73 6f 29 20 75 6e 64 65  btcl7.5.so) unde
144f0 72 0a 53 75 6e 4f 53 20 34 2e 31 2c 20 77 68 65  r.SunOS 4.1, whe
14500 72 65 20 74 68 65 79 20 64 6f 6e 27 74 20 77 6f  re they don't wo
14510 72 6b 20 61 6e 79 77 61 79 2e 20 20 28 4a 4f 29  rk anyway.  (JO)
14520 0a 0a 33 2f 32 32 2f 39 36 20 28 6e 65 77 20 66  ..3/22/96 (new f
14530 65 61 74 75 72 65 29 20 41 64 64 65 64 20 43 20  eature) Added C 
14540 41 50 49 20 54 63 6c 5f 49 6e 74 65 72 70 44 65  API Tcl_InterpDe
14550 6c 65 74 65 64 20 74 68 61 74 20 61 6c 6c 6f 77  leted that allow
14560 73 20 65 78 74 65 6e 73 69 6f 6e 0a 77 72 69 74  s extension.writ
14570 65 72 73 20 74 6f 20 64 69 73 63 6f 76 65 72 20  ers to discover 
14580 77 68 65 6e 20 61 6e 20 69 6e 74 65 72 70 72 65  when an interpre
14590 74 65 72 20 69 73 20 62 65 69 6e 67 20 64 65 6c  ter is being del
145a0 65 74 65 64 2e 20 28 4a 4c 29 0a 0a 33 2f 32 32  eted. (JL)..3/22
145b0 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 54 68  /96 (bug fix) Th
145c0 65 20 73 74 61 6e 64 61 72 64 20 49 4f 20 63 68  e standard IO ch
145d0 61 6e 6e 65 6c 73 20 61 72 65 20 6e 6f 77 20 61  annels are now a
145e0 64 64 65 64 20 74 6f 20 65 61 63 68 0a 74 72 75  dded to each.tru
145f0 73 74 65 64 20 69 6e 74 65 72 70 72 65 74 65 72  sted interpreter
14600 20 61 73 20 73 6f 6f 6e 20 61 73 20 74 68 65 20   as soon as the 
14610 69 6e 74 65 72 70 72 65 74 65 72 20 69 73 20 63  interpreter is c
14620 72 65 61 74 65 64 2e 20 54 68 69 73 20 65 6e 73  reated. This ens
14630 75 72 65 73 0a 61 67 61 69 6e 73 74 20 74 68 65  ures.against the
14640 20 62 75 67 20 77 68 65 72 65 20 61 20 63 68 69   bug where a chi
14650 6c 64 20 77 6f 75 6c 64 20 64 6f 20 49 4f 20 62  ld would do IO b
14660 65 66 6f 72 65 20 74 68 65 20 6d 61 73 74 65 72  efore the master
14670 20 68 61 64 20 64 6f 6e 65 20 61 6e 79 2c 0a 61   had done any,.a
14680 6e 64 20 74 68 65 6e 20 74 68 65 20 63 68 69 6c  nd then the chil
14690 64 20 69 73 20 64 65 73 74 72 6f 79 65 64 20 2d  d is destroyed -
146a0 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 49 4f   the standard IO
146b0 20 63 68 61 6e 6e 65 6c 73 20 77 6f 75 6c 64 20   channels would 
146c0 62 65 20 74 68 65 6e 0a 63 6c 6f 73 65 64 20 61  be then.closed a
146d0 6e 64 20 74 68 65 20 6d 61 73 74 65 72 20 77 6f  nd the master wo
146e0 75 6c 64 20 62 65 20 75 6e 61 62 6c 65 20 74 6f  uld be unable to
146f0 20 64 6f 20 61 6e 79 20 49 4f 2e 20 28 4a 4c 29   do any IO. (JL)
14700 0a 0a 33 2f 32 32 2f 39 36 20 28 62 75 67 20 66  ..3/22/96 (bug f
14710 69 78 29 20 4d 61 64 65 20 54 63 6c 20 6d 6f 72  ix) Made Tcl mor
14720 65 20 72 6f 62 75 73 74 20 61 67 61 69 6e 73 74  e robust against
14730 20 69 6e 74 65 72 70 72 65 74 65 72 20 64 65 6c   interpreter del
14740 65 74 69 6f 6e 2c 20 62 79 0a 75 73 69 6e 67 20  etion, by.using 
14750 54 63 6c 5f 50 72 65 73 65 72 76 65 2c 20 54 63  Tcl_Preserve, Tc
14760 6c 5f 52 65 6c 65 61 73 65 20 61 6e 64 20 54 63  l_Release and Tc
14770 6c 5f 45 76 65 6e 74 75 61 6c 6c 79 46 72 65 65  l_EventuallyFree
14780 20 74 6f 20 73 70 6c 69 74 20 74 68 65 20 70 72   to split the pr
14790 6f 63 65 73 73 0a 6f 66 20 69 6e 74 65 72 70 72  ocess.of interpr
147a0 65 74 65 72 20 64 65 6c 65 74 69 6f 6e 20 69 6e  eter deletion in
147b0 74 6f 20 74 77 6f 20 64 69 73 74 69 6e 63 74 20  to two distinct 
147c0 70 68 61 73 65 73 2e 20 41 6c 73 6f 20 77 65 6e  phases. Also wen
147d0 74 20 74 68 72 6f 75 67 68 20 61 6c 6c 20 6f 66  t through all of
147e0 0a 54 63 6c 20 61 6e 64 20 61 64 64 65 64 20 63  .Tcl and added c
147f0 61 6c 6c 73 20 74 6f 20 54 63 6c 5f 50 72 65 73  alls to Tcl_Pres
14800 65 72 76 65 20 61 6e 64 20 54 63 6c 5f 44 65 6c  erve and Tcl_Del
14810 65 74 65 20 77 68 65 72 65 20 6e 65 65 64 65 64  ete where needed
14820 2e 20 28 4a 4c 29 0a 0a 33 2f 32 32 2f 39 36 20  . (JL)..3/22/96 
14830 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
14840 73 65 76 65 72 61 6c 20 70 6c 61 63 65 73 20 77  several places w
14850 68 65 72 65 20 43 20 63 6f 64 65 20 77 61 73 20  here C code was 
14860 72 65 61 64 69 6e 67 20 61 6e 64 20 77 72 69 74  reading and writ
14870 69 6e 67 0a 69 6e 74 6f 20 66 72 65 65 64 20 6d  ing.into freed m
14880 65 6d 6f 72 79 2c 20 65 73 70 65 63 69 61 6c 6c  emory, especiall
14890 79 20 64 75 72 69 6e 67 20 69 6e 74 65 72 70 72  y during interpr
148a0 65 74 65 72 20 64 65 6c 65 74 69 6f 6e 2e 20 28  eter deletion. (
148b0 4a 4c 29 0a 0a 33 2f 32 32 2f 39 36 20 28 62 75  JL)..3/22/96 (bu
148c0 67 20 66 69 78 29 20 46 69 78 65 64 20 76 65 72  g fix) Fixed ver
148d0 79 20 64 65 65 70 20 62 75 67 20 69 6e 20 54 63  y deep bug in Tc
148e0 6c 5f 52 65 6c 65 61 73 65 20 74 68 61 74 20 63  l_Release that c
148f0 61 75 73 65 64 20 6d 65 6d 6f 72 79 20 74 6f 0a  aused memory to.
14900 62 65 20 66 72 65 65 64 20 74 77 69 63 65 20 69  be freed twice i
14910 66 20 74 68 65 20 72 65 6c 65 61 73 65 20 63 61  f the release ca
14920 6c 6c 62 61 63 6b 20 64 69 64 20 54 63 6c 5f 50  llback did Tcl_P
14930 72 65 73 65 72 76 65 20 61 6e 64 20 54 63 6c 5f  reserve and Tcl_
14940 52 65 6c 65 61 73 65 20 6f 6e 0a 74 68 65 20 73  Release on.the s
14950 61 6d 65 20 6d 65 6d 6f 72 79 20 61 73 20 74 68  ame memory as th
14960 65 20 63 68 75 6e 6b 20 63 75 72 72 65 6e 74 6c  e chunk currentl
14970 79 20 62 65 69 6e 67 20 66 72 65 65 64 2e 20 28  y being freed. (
14980 4a 4c 29 0a 0a 33 2f 32 32 2f 39 36 20 28 62 75  JL)..3/22/96 (bu
14990 67 20 66 69 78 29 20 52 65 6d 6f 76 65 64 20 73  g fix) Removed s
149a0 65 76 65 72 61 6c 20 6d 65 6d 6f 72 79 20 6c 65  everal memory le
149b0 61 6b 73 20 74 68 61 74 20 77 6f 75 6c 64 20 63  aks that would c
149c0 61 75 73 65 20 6d 65 6d 6f 72 79 0a 62 75 69 6c  ause memory.buil
149d0 64 75 70 20 6f 6e 20 68 61 6c 66 2d 4b 20 63 68  dup on half-K ch
149e0 75 6e 6b 73 20 69 6e 20 74 68 65 20 67 65 6e 65  unks in the gene
149f0 72 69 63 20 49 4f 20 6c 65 76 65 6c 2e 20 28 4a  ric IO level. (J
14a00 4c 29 0a 0a 33 2f 32 32 2f 39 36 20 28 62 75 67  L)..3/22/96 (bug
14a10 20 66 69 78 29 20 46 69 78 65 64 20 73 65 76 65   fix) Fixed seve
14a20 72 61 6c 20 63 6f 72 65 20 64 75 6d 70 73 20 77  ral core dumps w
14a30 68 69 63 68 20 6f 63 63 75 72 72 65 64 20 77 68  hich occurred wh
14a40 65 6e 20 6e 65 77 0a 41 73 73 6f 63 44 61 74 61  en new.AssocData
14a50 20 77 61 73 20 62 65 69 6e 67 20 63 72 65 61 74   was being creat
14a60 65 64 20 64 75 72 69 6e 67 20 74 68 65 20 63 6c  ed during the cl
14a70 65 61 6e 75 70 73 20 69 6e 20 69 6e 74 65 72 70  eanups in interp
14a80 72 65 74 65 72 20 64 65 6c 65 74 69 6f 6e 2e 0a  reter deletion..
14a90 54 68 65 20 73 6f 6c 75 74 69 6f 6e 20 69 6d 70  The solution imp
14aa0 6c 65 6d 65 6e 74 65 64 20 6e 6f 77 20 69 73 20  lemented now is 
14ab0 74 6f 20 6c 6f 6f 70 20 72 65 70 65 61 74 65 64  to loop repeated
14ac0 6c 79 20 6f 76 65 72 20 74 68 65 20 41 73 73 6f  ly over the Asso
14ad0 63 44 61 74 61 20 75 6e 74 69 6c 0a 6e 6f 6e 65  cData until.none
14ae0 20 69 73 20 6c 65 66 74 20 74 6f 20 63 6c 65 61   is left to clea
14af0 6e 20 75 70 2e 20 28 4a 4c 29 0a 0a 33 2f 32 32  n up. (JL)..3/22
14b00 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69  /96 (bug fix) Fi
14b10 78 65 64 20 61 20 62 75 67 20 69 6e 20 65 76 65  xed a bug in eve
14b20 6e 74 20 68 61 6e 64 6c 69 6e 67 20 77 68 69 63  nt handling whic
14b30 68 20 63 61 75 73 65 64 20 61 6e 20 69 6e 66 69  h caused an infi
14b40 6e 69 74 65 0a 6c 6f 6f 70 20 69 66 20 74 68 65  nite.loop if the
14b50 72 65 20 77 65 72 65 20 6e 6f 20 66 69 6c 65 73  re were no files
14b60 20 62 65 69 6e 67 20 77 61 74 63 68 65 64 20 61   being watched a
14b70 6e 64 20 6e 6f 20 74 69 6d 65 72 2e 20 46 69 78  nd no timer. Fix
14b80 20 73 75 67 67 65 73 74 65 64 20 62 79 0a 4a 61   suggested by.Ja
14b90 6e 20 4e 69 6a 74 6d 61 6e 73 2e 20 28 4a 4c 29  n Nijtmans. (JL)
14ba0 0a 0a 33 2f 32 32 2f 39 36 20 28 62 75 67 20 66  ..3/22/96 (bug f
14bb0 69 78 29 20 46 69 78 65 64 20 54 63 6c 5f 43 72  ix) Fixed Tcl_Cr
14bc0 65 61 74 65 43 6f 6d 6d 61 6e 64 2c 20 54 63 6c  eateCommand, Tcl
14bd0 5f 44 65 6c 65 74 65 43 6f 6d 6d 61 6e 64 20 74  _DeleteCommand t
14be0 6f 20 62 65 20 6d 6f 72 65 0a 72 6f 62 75 73 74  o be more.robust
14bf0 20 69 66 20 74 68 65 20 69 6e 74 65 72 70 72 65   if the interpre
14c00 74 65 72 20 69 73 20 62 65 69 6e 67 20 64 65 6c  ter is being del
14c10 65 74 65 64 2e 20 41 6c 73 6f 20 66 69 78 65 64  eted. Also fixed
14c20 20 73 65 76 65 72 61 6c 20 6f 72 64 65 72 0a 64   several order.d
14c30 65 70 65 6e 64 65 6e 63 79 20 62 75 67 73 20 69  ependency bugs i
14c40 6e 20 54 63 6c 5f 44 65 6c 65 74 65 43 6f 6d 6d  n Tcl_DeleteComm
14c50 61 6e 64 20 77 68 69 63 68 20 6b 69 63 6b 65 64  and which kicked
14c60 20 69 6e 20 77 68 65 6e 20 61 6e 20 69 6e 74 65   in when an inte
14c70 72 70 72 65 74 65 72 0a 77 61 73 20 62 65 69 6e  rpreter.was bein
14c80 67 20 64 65 6c 65 74 65 64 2e 20 28 4a 4c 29 0a  g deleted. (JL).
14c90 0a 33 2f 32 36 2f 39 36 20 28 62 75 67 20 66 69  .3/26/96 (bug fi
14ca0 78 29 20 55 70 6f 6e 20 61 20 22 73 68 6f 72 74  x) Upon a "short
14cb0 20 72 65 61 64 22 2c 20 74 68 65 20 67 65 6e 65   read", the gene
14cc0 72 69 63 20 63 6f 64 65 20 6e 6f 20 6c 6f 6e 67  ric code no long
14cd0 65 72 20 63 61 6c 6c 73 0a 74 68 65 20 64 72 69  er calls.the dri
14ce0 76 65 72 20 66 6f 72 20 6d 6f 72 65 20 69 6e 70  ver for more inp
14cf0 75 74 2e 20 44 6f 69 6e 67 20 74 68 69 73 20 63  ut. Doing this c
14d00 61 75 73 65 64 20 62 6c 6f 63 6b 69 6e 67 20 6f  aused blocking o
14d10 6e 20 73 6f 6d 65 20 70 6c 61 74 66 6f 72 6d 73  n some platforms
14d20 0a 65 76 65 6e 20 6f 6e 20 6e 6f 6e 62 6c 6f 63  .even on nonbloc
14d30 6b 69 6e 67 20 63 68 61 6e 6e 65 6c 73 2e 20 42  king channels. B
14d40 75 67 20 61 6e 64 20 66 69 78 20 63 6f 75 72 74  ug and fix court
14d50 65 73 79 20 4d 61 72 6b 20 52 6f 73 65 6d 61 6e  esy Mark Roseman
14d60 2e 20 28 4a 4c 29 0a 0a 33 2f 32 36 2f 39 36 20  . (JL)..3/26/96 
14d70 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
14d80 64 65 64 20 27 70 61 63 6b 61 67 65 20 54 63 6c  ded 'package Tcl
14d90 74 65 73 74 27 20 77 68 69 63 68 20 69 73 20 70  test' which is p
14da0 72 65 73 65 6e 74 20 6f 6e 6c 79 20 69 6e 0a 74  resent only in.t
14db0 65 73 74 20 76 65 72 73 69 6f 6e 73 20 6f 66 20  est versions of 
14dc0 54 63 6c 3b 20 74 68 69 73 20 61 6c 6c 6f 77 73  Tcl; this allows
14dd0 20 74 68 65 20 74 65 73 74 69 6e 67 20 63 6f 6d   the testing com
14de0 6d 61 6e 64 73 20 74 6f 20 62 65 20 6c 6f 61 64  mands to be load
14df0 65 64 20 69 6e 74 6f 0a 6e 65 77 20 69 6e 74 65  ed into.new inte
14e00 72 70 72 65 74 65 72 73 20 62 65 73 69 64 65 73  rpreters besides
14e10 20 74 68 65 20 6d 61 69 6e 20 6f 6e 65 2e 20 28   the main one. (
14e20 4a 4c 29 0a 0a 33 2f 32 36 2f 39 36 20 28 72 65  JL)..3/26/96 (re
14e30 73 74 6f 72 65 64 20 66 65 61 74 75 72 65 29 20  stored feature) 
14e40 52 65 63 72 65 61 74 65 64 20 74 68 65 20 54 63  Recreated the Tc
14e50 6c 5f 47 65 74 4f 70 65 6e 46 69 6c 65 20 43 20  l_GetOpenFile C 
14e60 41 50 49 2e 20 59 6f 75 20 63 61 6e 0a 6e 6f 77  API. You can.now
14e70 20 67 65 74 20 61 20 46 49 4c 45 20 2a 20 66 72   get a FILE * fr
14e80 6f 6d 20 61 20 72 65 67 69 73 74 65 72 65 64 20  om a registered 
14e90 63 68 61 6e 6e 65 6c 3b 20 55 6e 69 78 20 6f 6e  channel; Unix on
14ea0 6c 79 2e 20 28 4a 4c 29 0a 0a 33 2f 32 37 2f 39  ly. (JL)..3/27/9
14eb0 36 20 28 62 75 67 20 66 69 78 29 20 54 68 65 20  6 (bug fix) The 
14ec0 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69  regular expressi
14ed0 6f 6e 20 63 6f 64 65 20 64 69 64 20 6e 6f 74 20  on code did not 
14ee0 73 75 70 70 6f 72 74 20 6d 6f 72 65 0a 74 68 61  support more.tha
14ef0 6e 20 39 20 73 75 62 65 78 70 72 65 73 73 69 6f  n 9 subexpressio
14f00 6e 73 2e 20 20 49 74 20 6e 6f 77 20 73 75 70 70  ns.  It now supp
14f10 6f 72 74 73 20 75 70 20 74 6f 20 32 30 2e 20 28  orts up to 20. (
14f20 53 53 29 0a 0a 34 2f 31 2f 39 36 20 28 62 75 67  SS)..4/1/96 (bug
14f30 20 66 69 78 65 73 29 20 54 68 65 20 43 48 41 4e   fixes) The CHAN
14f40 4e 45 4c 5f 42 4c 4f 43 4b 45 44 20 62 69 74 20  NEL_BLOCKED bit 
14f50 77 61 73 20 62 65 69 6e 67 20 6c 65 66 74 20 6f  was being left o
14f60 6e 20 6f 6e 20 61 20 73 68 6f 72 74 0a 72 65 61  n on a short.rea
14f70 64 2c 20 73 6f 20 74 68 61 74 20 66 69 6c 65 65  d, so that filee
14f80 76 65 6e 74 73 20 77 6f 75 6c 64 6e 27 74 20 66  vents wouldn't f
14f90 69 72 65 20 63 6f 72 72 65 63 74 6c 79 2e 20 42  ire correctly. B
14fa0 75 67 20 72 65 70 6f 72 74 65 64 20 62 79 20 4d  ug reported by M
14fb0 61 72 6b 0a 52 6f 73 65 6d 61 6e 2e 28 4a 4c 2c  ark.Roseman.(JL,
14fc0 20 52 4a 29 0a 0a 34 2f 31 2f 39 36 20 28 62 75   RJ)..4/1/96 (bu
14fd0 67 20 66 69 78 29 20 4d 6f 76 65 64 20 54 63 6c  g fix) Moved Tcl
14fe0 5f 52 65 6c 65 61 73 65 20 74 6f 20 6d 61 74 63  _Release to matc
14ff0 68 20 54 63 6c 5f 50 72 65 73 65 72 76 65 20 65  h Tcl_Preserve e
15000 78 61 63 74 6c 79 2c 20 69 6e 0a 74 63 6c 49 6e  xactly, in.tclIn
15010 74 65 72 70 2e 63 3b 20 70 72 65 76 69 6f 75 73  terp.c; previous
15020 6c 79 20 69 6e 74 65 72 70 72 65 74 65 72 73 20  ly interpreters 
15030 77 65 72 65 20 62 65 69 6e 67 20 66 72 65 65 64  were being freed
15040 20 6f 6e 6c 79 20 63 6f 6e 64 69 74 69 6f 6e 61   only conditiona
15050 6c 6c 79 0a 61 6e 64 20 73 6f 6d 65 74 69 6d 65  lly.and sometime
15060 73 20 6e 6f 74 20 61 74 20 61 6c 6c 2e 20 28 4a  s not at all. (J
15070 4c 29 0a 0a 34 2f 31 2f 39 36 20 28 62 75 67 20  L)..4/1/96 (bug 
15080 66 69 78 29 20 46 69 78 65 64 20 65 72 72 6f 72  fix) Fixed error
15090 20 72 65 70 6f 72 74 69 6e 67 20 69 6e 20 73 6c   reporting in sl
150a0 61 76 65 20 69 6e 74 65 72 70 72 65 74 65 72 73  ave interpreters
150b0 20 77 68 65 6e 20 74 68 65 0a 65 72 72 6f 72 20   when the.error 
150c0 6d 65 73 73 61 67 65 20 77 61 73 20 62 65 69 6e  message was bein
150d0 67 20 67 65 6e 65 72 61 74 65 64 20 64 69 72 65  g generated dire
150e0 63 74 6c 79 20 62 79 20 43 20 63 6f 64 65 2e 20  ctly by C code. 
150f0 46 69 78 20 73 75 67 67 65 73 74 65 64 20 62 79  Fix suggested by
15100 0a 56 69 6b 74 6f 72 20 44 75 6b 68 6f 76 6e 69  .Viktor Dukhovni
15110 20 6f 66 20 45 53 4d 2e 20 28 4a 4c 29 0a 0a 34   of ESM. (JL)..4
15120 2f 32 2f 39 36 20 28 62 75 67 20 66 69 78 65 73  /2/96 (bug fixes
15130 29 20 46 69 78 65 64 20 61 20 73 65 72 69 65 73  ) Fixed a series
15140 20 6f 66 20 62 75 67 73 20 69 6e 20 57 69 6e 64   of bugs in Wind
15150 6f 77 73 20 73 6f 63 6b 65 74 73 20 74 68 61 74  ows sockets that
15160 20 63 61 75 73 65 64 0a 65 76 65 6e 74 73 20 74   caused.events t
15170 6f 20 76 61 72 69 6f 75 73 6c 79 20 67 65 74 20  o variously get 
15180 6c 6f 73 74 2c 20 74 6f 20 67 65 74 20 73 65 6e  lost, to get sen
15190 74 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73  t multiple times
151a0 2c 20 6f 72 20 74 6f 20 62 65 20 69 67 6e 6f 72  , or to be ignor
151b0 65 64 0a 62 79 20 74 68 65 20 64 72 69 76 65 72  ed.by the driver
151c0 2e 20 54 68 65 20 6d 61 6e 69 66 65 73 74 61 74  . The manifestat
151d0 69 6f 6e 20 77 61 73 20 62 6c 6f 63 6b 69 6e 67  ion was blocking
151e0 20 69 66 20 74 68 65 20 63 68 61 6e 6e 65 6c 20   if the channel 
151f0 69 73 20 62 6c 6f 63 6b 69 6e 67 2c 0a 61 6e 64  is blocking,.and
15200 20 65 69 74 68 65 72 20 67 65 74 74 69 6e 67 20   either getting 
15210 45 41 47 41 49 4e 20 6f 72 20 69 6e 66 69 6e 69  EAGAIN or infini
15220 74 65 20 6c 6f 6f 70 73 20 69 66 20 74 68 65 20  te loops if the 
15230 63 68 61 6e 6e 65 6c 20 69 73 20 6e 6f 6e 62 6c  channel is nonbl
15240 6f 63 6b 69 6e 67 2e 0a 54 68 69 73 20 73 65 72  ocking..This ser
15250 69 65 73 20 6f 66 20 62 75 67 73 20 77 61 73 20  ies of bugs was 
15260 66 6f 75 6e 64 20 62 79 20 49 61 6e 20 57 61 6c  found by Ian Wal
15270 6c 69 73 20 6f 66 20 43 69 73 63 6f 2e 20 4e 6f  lis of Cisco. No
15280 77 20 61 6c 6c 20 74 65 73 74 73 20 28 61 6c 73  w all tests (als
15290 6f 0a 74 68 6f 73 65 20 74 68 61 74 20 77 65 72  o.those that wer
152a0 65 20 70 72 65 76 69 6f 75 73 6c 79 20 63 6f 6d  e previously com
152b0 6d 65 6e 74 65 64 20 6f 75 74 29 20 69 6e 20 73  mented out) in s
152c0 6f 63 6b 65 74 2e 74 65 73 74 20 70 61 73 73 2e  ocket.test pass.
152d0 20 20 28 4a 4c 2c 20 53 53 29 0a 0a 34 2f 32 2f    (JL, SS)..4/2/
152e0 39 36 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  96 (feature chan
152f0 67 65 2f 62 75 67 20 66 69 78 29 20 45 6c 69 6d  ge/bug fix) Elim
15300 69 6e 61 74 65 64 20 6e 65 74 77 6f 72 6b 20 6e  inated network n
15310 61 6d 65 20 73 75 70 70 6f 72 74 20 69 6e 0a 66  ame support in.f
15320 61 76 6f 72 20 6f 66 20 62 65 74 74 65 72 20 6e  avor of better n
15330 61 74 69 76 65 20 6e 61 6d 65 20 73 75 70 70 6f  ative name suppo
15340 72 74 2e 20 20 41 64 64 65 64 20 22 66 69 6c 65  rt.  Added "file
15350 20 73 70 6c 69 74 22 2c 20 22 66 69 6c 65 20 6a   split", "file j
15360 6f 69 6e 22 2c 0a 61 6e 64 20 22 66 69 6c 65 20  oin",.and "file 
15370 70 61 74 68 74 79 70 65 22 20 63 6f 6d 6d 61 6e  pathtype" comman
15380 64 73 2e 20 20 53 65 65 20 74 68 65 20 22 66 69  ds.  See the "fi
15390 6c 65 22 20 6d 61 6e 20 70 61 67 65 20 66 6f 72  le" man page for
153a0 20 6d 6f 72 65 0a 64 65 74 61 69 6c 73 2e 20 28   more.details. (
153b0 53 53 29 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54  SS).*** INCOMPAT
153c0 49 42 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c  IBILITY with Tcl
153d0 20 37 2e 35 62 33 2c 20 62 75 74 20 6e 6f 74 20   7.5b3, but not 
153e0 77 69 74 68 20 54 63 6c 20 37 2e 34 20 2a 2a 2a  with Tcl 7.4 ***
153f0 0a 0a 34 2f 32 2f 39 36 20 28 62 75 67 20 66 69  ..4/2/96 (bug fi
15400 78 29 20 43 68 61 6e 67 65 64 20 69 6d 70 6c 65  x) Changed imple
15410 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 75 74  mentation of aut
15420 6f 5f 6d 6b 69 6e 64 65 78 20 73 6f 20 74 63 6c  o_mkindex so tcl
15430 49 6e 64 65 78 0a 66 69 6c 65 73 20 77 69 6c 6c  Index.files will
15440 20 70 72 6f 70 65 72 6c 79 20 68 61 6e 64 6c 65   properly handle
15450 20 70 61 74 68 20 6e 61 6d 65 73 20 69 6e 20 61   path names in a
15460 20 63 72 6f 73 73 20 70 6c 61 74 66 6f 72 6d 20   cross platform 
15470 63 6f 6e 74 65 78 74 2e 20 28 53 53 29 0a 0a 34  context. (SS)..4
15480 2f 35 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  /5/96 (bug fix) 
15490 46 69 78 65 64 20 54 63 6c 5f 52 65 61 64 43 6d  Fixed Tcl_ReadCm
154a0 64 20 74 6f 20 75 73 65 20 74 68 65 20 63 68 61  d to use the cha
154b0 6e 6e 65 6c 20 62 75 66 66 65 72 20 73 69 7a 65  nnel buffer size
154c0 20 61 73 20 74 68 65 0a 63 68 75 6e 6b 20 73 69   as the.chunk si
154d0 7a 65 20 69 74 20 72 65 61 64 73 2c 20 69 6e 73  ze it reads, ins
154e0 74 65 61 64 20 6f 66 20 61 20 66 69 78 65 64 20  tead of a fixed 
154f0 34 4b 20 73 69 7a 65 2e 20 54 68 75 73 2c 20 6f  4K size. Thus, o
15500 6e 20 6c 61 72 67 65 20 72 65 61 64 73 2c 20 74  n large reads, t
15510 68 65 0a 75 73 65 72 20 63 61 6e 20 73 65 74 20  he.user can set 
15520 74 68 65 20 63 68 61 6e 6e 65 6c 20 62 75 66 66  the channel buff
15530 65 72 20 73 69 7a 65 20 74 6f 20 61 20 6c 61 72  er size to a lar
15540 67 65 20 73 69 7a 65 20 61 6e 64 20 74 68 65 20  ge size and the 
15550 72 65 61 64 20 77 69 6c 6c 0a 6f 63 63 75 72 20  read will.occur 
15560 6f 72 64 65 72 73 20 6f 66 20 6d 61 67 6e 69 74  orders of magnit
15570 75 64 65 20 66 61 73 74 65 72 2e 20 46 6f 72 20  ude faster. For 
15580 65 78 61 6d 70 6c 65 2c 20 6f 6e 20 61 20 32 4d  example, on a 2M
15590 42 20 66 69 6c 65 2c 20 72 65 61 64 69 6e 67 20  B file, reading 
155a0 69 6e 20 34 4b 0a 63 68 75 6e 6b 73 20 74 6f 6f  in 4K.chunks too
155b0 6b 20 33 34 20 73 65 63 6f 6e 64 73 2c 20 77 68  k 34 seconds, wh
155c0 69 6c 65 20 72 65 61 64 69 6e 67 20 69 6e 20 31  ile reading in 1
155d0 4d 42 20 63 68 75 6e 6b 73 20 74 6f 6f 6b 20 31  MB chunks took 1
155e0 2e 35 20 73 65 63 6f 6e 64 73 20 28 6f 6e 20 61  .5 seconds (on a
155f0 0a 53 53 2d 32 30 29 2e 20 50 72 6f 62 6c 65 6d  .SS-20). Problem
15600 20 69 64 65 6e 74 69 66 69 65 64 20 61 6e 64 20   identified and 
15610 66 69 78 20 73 75 67 67 65 73 74 65 64 20 62 79  fix suggested by
15620 20 4a 6f 68 6e 20 48 61 78 62 79 20 6f 66 20 48   John Haxby of H
15630 50 2e 20 28 4a 4c 29 0a 0a 34 2f 35 2f 39 36 20  P. (JL)..4/5/96 
15640 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
15650 73 6f 63 6b 65 74 20 63 72 65 61 74 69 6f 6e 20  socket creation 
15660 63 6f 64 65 20 74 6f 20 69 6e 76 6f 6b 65 20 67  code to invoke g
15670 65 74 68 6f 73 74 62 79 6e 61 6d 65 20 6f 6e 6c  ethostbyname onl
15680 79 20 69 66 0a 69 6e 65 74 5f 61 64 64 72 20 66  y if.inet_addr f
15690 61 69 6c 65 64 20 28 76 65 72 79 20 75 6e 6c 69  ailed (very unli
156a0 6b 65 6c 79 29 2e 20 42 65 66 6f 72 65 20 74 68  kely). Before th
156b0 69 73 20 63 68 61 6e 67 65 20 74 68 65 20 6f 72  is change the or
156c0 64 65 72 20 77 61 73 20 72 65 76 65 72 73 65 64  der was reversed
156d0 0a 61 6e 64 20 74 68 69 73 20 6d 61 64 65 20 74  .and this made t
156e0 68 69 6e 67 73 20 6d 75 63 68 20 73 6c 6f 77 65  hings much slowe
156f0 72 20 74 68 61 6e 20 74 68 65 79 20 6e 65 65 64  r than they need
15700 65 64 20 74 6f 20 62 65 20 28 67 65 74 68 6f 73  ed to be (gethos
15710 74 62 79 6e 61 6d 65 0a 67 65 6e 65 72 61 6c 6c  tbyname.generall
15720 79 20 72 65 71 75 69 72 65 73 20 61 6e 20 52 50  y requires an RP
15730 43 2c 20 77 68 69 63 68 20 69 73 20 73 6c 6f 77  C, which is slow
15740 29 2e 20 50 72 6f 62 6c 65 6d 20 69 64 65 6e 74  ). Problem ident
15750 69 66 69 65 64 20 61 6e 64 20 66 69 78 0a 73 75  ified and fix.su
15760 67 67 65 73 74 65 64 20 62 79 20 4a 6f 68 6e 20  ggested by John 
15770 4c 6f 76 65 72 73 6f 20 6f 66 20 4f 53 46 2e 20  Loverso of OSF. 
15780 28 4a 4c 29 0a 0a 34 2f 39 2f 39 36 20 28 66 65  (JL)..4/9/96 (fe
15790 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 4d 6f  ature change) Mo
157a0 64 69 66 69 65 64 20 22 61 75 74 6f 22 20 74 72  dified "auto" tr
157b0 61 6e 73 6c 61 74 69 6f 6e 20 6d 6f 64 65 20 73  anslation mode s
157c0 6f 20 74 68 61 74 20 69 74 0a 72 65 63 6f 67 6e  o that it.recogn
157d0 69 7a 65 73 20 61 6e 79 20 6f 66 20 22 5c 6e 22  izes any of "\n"
157e0 2c 20 22 5c 72 22 20 61 6e 64 20 22 5c 72 5c 6e  , "\r" and "\r\n
157f0 22 20 69 6e 20 69 6e 70 75 74 20 61 73 20 65 6e  " in input as en
15800 64 20 6f 66 20 6c 69 6e 65 2c 20 73 6f 0a 74 68  d of line, so.th
15810 61 74 20 61 20 66 69 6c 65 20 63 61 6e 20 68 61  at a file can ha
15820 76 65 20 6d 69 78 65 64 20 65 6e 64 2d 6f 66 2d  ve mixed end-of-
15830 6c 69 6e 65 20 73 65 71 75 65 6e 63 65 73 2e 20  line sequences. 
15840 49 74 20 6e 6f 77 20 6f 75 74 70 75 74 73 0a 74  It now outputs.t
15850 68 65 20 70 6c 61 74 66 6f 72 6d 20 73 70 65 63  he platform spec
15860 69 66 69 63 20 65 6e 64 20 6f 66 20 6c 69 6e 65  ific end of line
15870 20 73 65 71 75 65 6e 63 65 20 6f 6e 20 65 61 63   sequence on eac
15880 68 20 70 6c 61 74 66 6f 72 6d 20 66 6f 72 20 66  h platform for f
15890 69 6c 65 73 20 61 6e 64 0a 70 69 70 65 73 2c 20  iles and.pipes, 
158a0 61 6e 64 20 66 6f 72 20 73 6f 63 6b 65 74 73 20  and for sockets 
158b0 69 74 20 70 72 6f 64 75 63 65 73 20 63 72 6c 66  it produces crlf
158c0 20 69 6e 20 6f 75 74 70 75 74 20 6f 6e 20 61 6c   in output on al
158d0 6c 20 70 6c 61 74 66 6f 72 6d 73 2e 20 28 4a 4c  l platforms. (JL
158e0 29 0a 2a 2a 2a 20 49 4e 43 4f 4d 50 41 54 49 42  ).*** INCOMPATIB
158f0 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20 37  ILITY with Tcl 7
15900 2e 35 62 33 2c 20 62 75 74 20 6e 6f 74 20 77 69  .5b3, but not wi
15910 74 68 20 54 63 6c 20 37 2e 34 20 2a 2a 2a 0a 0a  th Tcl 7.4 ***..
15920 34 2f 31 31 2f 39 36 20 28 6e 65 77 20 66 65 61  4/11/96 (new fea
15930 74 75 72 65 29 20 41 64 64 65 64 20 2d 65 6f 66  ture) Added -eof
15940 63 68 61 72 20 6f 70 74 69 6f 6e 20 74 6f 20 54  char option to T
15950 63 6c 5f 53 65 74 43 68 61 6e 6e 65 6c 4f 70 74  cl_SetChannelOpt
15960 69 6f 6e 20 74 6f 20 61 6c 6c 6f 77 0a 73 65 74  ion to allow.set
15970 74 69 6e 67 20 6f 66 20 61 6e 20 65 6e 64 20 6f  ting of an end o
15980 66 20 66 69 6c 65 20 63 68 61 72 61 63 74 65 72  f file character
15990 20 66 6f 72 20 69 6e 70 75 74 20 61 6e 64 20 6f   for input and o
159a0 75 74 70 75 74 2e 20 49 66 20 61 6e 20 69 6e 70  utput. If an inp
159b0 75 74 20 65 6f 66 0a 63 68 61 72 20 69 73 20 73  ut eof.char is s
159c0 65 74 2c 20 69 74 20 69 73 20 72 65 63 6f 67 6e  et, it is recogn
159d0 69 7a 65 64 20 61 73 20 45 4f 46 20 61 6e 64 20  ized as EOF and 
159e0 66 75 72 74 68 65 72 20 69 6e 70 75 74 20 66 72  further input fr
159f0 6f 6d 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 69  om the channel i
15a00 73 0a 6e 6f 74 20 70 72 65 73 65 6e 74 65 64 20  s.not presented 
15a10 74 6f 20 74 68 65 20 63 61 6c 6c 65 72 2e 20 49  to the caller. I
15a20 66 20 61 6e 20 6f 75 74 70 75 74 20 65 6f 66 20  f an output eof 
15a30 63 68 61 72 20 69 73 20 73 65 74 2c 20 6f 6e 20  char is set, on 
15a40 6f 75 74 70 75 74 2c 20 74 68 61 74 0a 62 79 74  output, that.byt
15a50 65 20 69 73 20 61 70 70 65 6e 64 65 64 20 74 6f  e is appended to
15a60 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 77 68 65   the channel whe
15a70 6e 20 69 74 20 69 73 20 63 6c 6f 73 65 64 2e 20  n it is closed. 
15a80 4f 6e 20 55 6e 69 78 20 61 6e 64 20 4d 61 63 69  On Unix and Maci
15a90 6e 74 6f 73 68 2c 0a 61 6c 6c 20 63 68 61 6e 6e  ntosh,.all chann
15aa0 65 6c 73 20 73 74 61 72 74 20 77 69 74 68 20 6e  els start with n
15ab0 6f 20 65 6f 66 20 63 68 61 72 20 73 65 74 20 66  o eof char set f
15ac0 6f 72 20 69 6e 70 75 74 20 6f 72 20 6f 75 74 70  or input or outp
15ad0 75 74 2e 20 4f 6e 20 57 69 6e 64 6f 77 73 2c 0a  ut. On Windows,.
15ae0 66 69 6c 65 73 20 61 6e 64 20 70 69 70 65 73 20  files and pipes 
15af0 73 74 61 72 74 20 77 69 74 68 20 69 6e 70 75 74  start with input
15b00 20 61 6e 64 20 6f 75 74 70 75 74 20 65 6f 66 20   and output eof 
15b10 63 68 61 72 73 20 73 65 74 20 74 6f 20 43 72 6c  chars set to Crl
15b20 74 2d 5a 20 28 61 73 63 69 69 0a 32 36 29 2c 20  t-Z (ascii.26), 
15b30 61 6e 64 20 73 6f 63 6b 65 74 73 20 73 74 61 72  and sockets star
15b40 74 20 77 69 74 68 20 6e 6f 20 69 6e 70 75 74 20  t with no input 
15b50 6f 72 20 6f 75 74 70 75 74 20 65 6f 66 20 63 68  or output eof ch
15b60 61 72 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 49 4e 43  ar. (JL).*** INC
15b70 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69 74  OMPATIBILITY wit
15b80 68 20 54 63 6c 20 37 2e 35 62 33 2c 20 62 75 74  h Tcl 7.5b3, but
15b90 20 6e 6f 74 20 77 69 74 68 20 54 63 6c 20 37 2e   not with Tcl 7.
15ba0 34 20 2a 2a 2a 0a 0a 34 2f 31 37 2f 39 36 20 28  4 ***..4/17/96 (
15bb0 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 73  bug fix) Fixed s
15bc0 65 72 69 65 73 20 6f 66 20 62 75 67 73 20 77 69  eries of bugs wi
15bd0 74 68 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20 63  th handling of c
15be0 72 6c 66 20 73 65 71 75 65 6e 63 65 20 73 70 6c  rlf sequence spl
15bf0 69 74 0a 61 63 72 6f 73 73 20 62 75 66 66 65 72  it.across buffer
15c00 20 62 6f 75 6e 64 61 72 69 65 73 20 69 6e 20 69   boundaries in i
15c10 6e 70 75 74 2c 20 69 6e 20 41 55 54 4f 20 6d 6f  nput, in AUTO mo
15c20 64 65 2e 20 28 4a 4c 2c 20 42 57 29 0a 0a 34 2f  de. (JL, BW)..4/
15c30 31 37 2f 39 36 20 28 74 65 73 74 20 73 75 69 74  17/96 (test suit
15c40 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74 29 20 46  e improvement) F
15c50 69 78 65 64 20 74 65 73 74 20 73 75 69 74 65 20  ixed test suite 
15c60 73 6f 20 74 68 61 74 20 74 65 73 74 73 20 74 68  so that tests th
15c70 61 74 0a 64 65 70 65 6e 64 20 6f 6e 20 74 68 65  at.depend on the
15c80 20 61 76 61 69 6c 61 62 69 6c 69 74 79 20 6f 66   availability of
15c90 20 55 6e 69 78 20 63 6f 6d 6d 61 6e 64 73 20 73   Unix commands s
15ca0 75 63 68 20 61 73 20 65 63 68 6f 2c 20 63 61 74  uch as echo, cat
15cb0 20 61 6e 64 20 6f 74 68 65 72 73 0a 61 72 65 20   and others.are 
15cc0 6e 6f 74 20 72 75 6e 20 69 66 20 74 68 65 73 65  not run if these
15cd0 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 6e 6f   commands are no
15ce0 74 20 70 72 65 73 65 6e 74 2e 20 28 4a 4c 29 0a  t present. (JL).
15cf0 0a 34 2f 31 37 2f 39 36 20 28 74 65 73 74 20 73  .4/17/96 (test s
15d00 75 69 74 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74  uite improvement
15d10 29 20 54 68 65 20 73 6f 63 6b 65 74 20 74 65 73  ) The socket tes
15d20 74 20 6e 6f 77 20 61 75 74 6f 6d 61 74 69 63 61  t now automatica
15d30 6c 6c 79 20 73 74 61 72 74 73 2c 0a 6f 6e 20 70  lly starts,.on p
15d40 6c 61 74 66 6f 72 6d 73 74 20 74 68 61 74 20 73  latformst that s
15d50 75 70 70 6f 72 74 20 65 78 65 63 2c 20 61 20 73  upport exec, a s
15d60 65 70 61 72 61 74 65 20 70 72 6f 63 65 73 73 20  eparate process 
15d70 66 6f 72 20 72 65 6d 6f 74 65 20 74 65 73 74 73  for remote tests
15d80 69 6e 67 2e 20 28 4a 4c 29 0a 0a 2d 2d 2d 2d 2d  ing. (JL)..-----
15d90 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c  ------------ Rel
15da0 65 61 73 65 64 20 37 2e 35 2c 20 34 2f 32 31 2f  eased 7.5, 4/21/
15db0 39 36 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  96 -------------
15dc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 35 2f 31 2f  ----------..5/1/
15dd0 39 36 20 28 62 75 67 20 66 69 78 29 20 22 66 69  96 (bug fix) "fi
15de0 6c 65 20 74 61 69 6c 20 7e 22 20 64 69 64 20 6e  le tail ~" did n
15df0 6f 74 20 63 6f 72 72 65 63 74 6c 79 20 72 65 74  ot correctly ret
15e00 75 72 6e 20 74 68 65 20 74 61 69 6c 0a 70 6f 72  urn the tail.por
15e10 74 69 6f 6e 20 6f 66 20 74 68 65 20 75 73 65 72  tion of the user
15e20 27 73 20 68 6f 6d 65 20 64 69 72 65 63 74 6f 72  's home director
15e30 79 2e 20 28 53 53 29 0a 0a 35 2f 31 2f 39 36 20  y. (SS)..5/1/96 
15e40 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
15e50 62 75 67 20 69 6e 20 54 63 6c 47 65 74 45 6e 76  bug in TclGetEnv
15e60 20 77 68 65 72 65 20 69 74 20 64 69 64 6e 27 74   where it didn't
15e70 20 6c 6f 6f 6b 75 70 20 65 6e 76 69 72 6f 6e 6d   lookup environm
15e80 65 6e 74 0a 76 61 72 69 61 62 6c 65 73 20 63 6f  ent.variables co
15e90 72 72 65 63 74 6c 79 3a 20 20 63 6f 75 6c 64 20  rrectly:  could 
15ea0 63 6f 6e 66 75 73 65 20 22 48 22 20 61 6e 64 20  confuse "H" and 
15eb0 22 48 4f 4d 45 22 2c 20 66 6f 72 20 65 78 61 6d  "HOME", for exam
15ec0 70 6c 65 2e 20 20 28 4a 4f 29 0a 0a 35 2f 31 2f  ple.  (JO)..5/1/
15ed0 39 36 20 28 62 75 67 20 66 69 78 29 20 43 68 61  96 (bug fix) Cha
15ee0 6e 67 65 64 20 74 6f 20 69 6e 73 74 61 6c 6c 20  nged to install 
15ef0 74 63 6c 43 6f 6e 66 69 67 2e 73 68 20 75 6e 64  tclConfig.sh und
15f00 65 72 20 22 6d 61 6b 65 20 69 6e 73 74 61 6c 6c  er "make install
15f10 2d 62 69 6e 61 72 69 65 73 22 2c 0a 6e 6f 74 20  -binaries",.not 
15f20 22 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 2d 6c 69  "make install-li
15f30 62 72 61 72 69 65 73 22 2e 20 20 28 4a 4f 29 0a  braries".  (JO).
15f40 0a 35 2f 32 2f 39 36 20 28 62 75 67 20 66 69 78  .5/2/96 (bug fix
15f50 29 20 43 68 61 6e 67 65 64 20 70 6b 67 5f 6d 6b  ) Changed pkg_mk
15f60 49 6e 64 65 78 20 6e 6f 74 20 74 6f 20 61 74 74  Index not to att
15f70 65 6d 70 74 20 74 6f 20 22 6c 6f 61 64 22 20 61  empt to "load" a
15f80 20 66 69 6c 65 20 75 6e 6c 65 73 73 0a 69 74 20   file unless.it 
15f90 68 61 73 20 74 68 65 20 73 74 61 6e 64 61 72 64  has the standard
15fa0 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 20   shared library 
15fb0 65 78 74 65 6e 73 69 6f 6e 2e 20 20 4f 6e 20 53  extension.  On S
15fc0 75 6e 4f 53 2c 20 61 74 74 65 6d 70 74 73 20 74  unOS, attempts t
15fd0 6f 20 6c 6f 61 64 0a 54 63 6c 20 73 63 72 69 70  o load.Tcl scrip
15fe0 74 73 20 63 61 75 73 65 20 74 68 65 20 77 68 6f  ts cause the who
15ff0 6c 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74  le application t
16000 6f 20 62 65 20 61 62 6f 72 74 65 64 20 28 74 68  o be aborted (th
16010 65 72 65 27 73 20 6e 6f 20 77 61 79 20 74 6f 0a  ere's no way to.
16020 67 65 74 20 74 68 65 20 65 72 72 6f 72 20 62 61  get the error ba
16030 63 6b 20 69 6e 74 6f 20 54 63 6c 29 2e 20 20 28  ck into Tcl).  (
16040 4a 4f 29 0a 0a 35 2f 37 2f 39 36 20 28 62 75 67  JO)..5/7/96 (bug
16050 20 66 69 78 29 20 4d 6f 76 65 64 20 69 6e 69 74   fix) Moved init
16060 53 63 72 69 70 74 20 69 6e 20 74 63 6c 55 6e 69  Script in tclUni
16070 78 49 6e 69 74 2e 63 20 74 6f 20 77 72 69 74 61  xInit.c to writa
16080 62 6c 65 20 6d 65 6d 6f 72 79 20 74 6f 0a 61 76  ble memory to.av
16090 6f 69 64 20 70 6f 74 65 6e 74 69 61 6c 20 63 6f  oid potential co
160a0 72 65 20 64 75 6d 70 73 2e 20 28 4a 4f 29 0a 0a  re dumps. (JO)..
160b0 35 2f 37 2f 39 36 20 28 62 75 67 20 66 69 78 29  5/7/96 (bug fix)
160c0 20 41 75 74 6f 5f 72 65 73 65 74 20 70 72 6f 63   Auto_reset proc
160d0 65 64 75 72 65 20 77 61 73 20 72 65 6d 6f 76 69  edure was removi
160e0 6e 67 20 70 72 6f 63 65 64 75 72 65 20 66 72 6f  ng procedure fro
160f0 6d 20 69 6e 69 74 2e 74 63 6c 2c 0a 73 75 63 68  m init.tcl,.such
16100 20 61 73 20 70 6b 67 5f 6d 6b 49 6e 64 65 78 2e   as pkg_mkIndex.
16110 20 20 28 4a 4f 29 0a 0a 35 2f 37 2f 39 36 20 28    (JO)..5/7/96 (
16120 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 63  bug fix) Fixed c
16130 61 73 74 20 6f 6e 20 73 6f 63 6b 65 74 20 61 64  ast on socket ad
16140 64 72 65 73 73 20 72 65 73 6f 6c 75 74 69 6f 6e  dress resolution
16150 20 63 6f 64 65 20 74 68 61 74 0a 77 6f 75 6c 64   code that.would
16160 20 63 61 75 73 65 20 61 20 66 61 69 6c 75 72 65   cause a failure
16170 20 74 6f 20 63 6f 6e 6e 65 63 74 20 6f 6e 20 44   to connect on D
16180 65 63 20 41 6c 70 68 61 73 2e 20 28 4a 4c 29 0a  ec Alphas. (JL).
16190 0a 35 2f 37 2f 39 36 20 28 62 75 67 20 66 69 78  .5/7/96 (bug fix
161a0 29 20 41 64 64 65 64 20 22 74 69 6d 65 22 2c 20  ) Added "time", 
161b0 22 73 75 62 73 74 22 20 61 6e 64 20 22 66 69 6c  "subst" and "fil
161c0 65 65 76 65 6e 74 22 20 63 6f 6d 6d 61 6e 64 73  eevent" commands
161d0 20 74 6f 20 73 65 74 20 6f 66 0a 63 6f 6d 6d 61   to set of.comma
161e0 6e 64 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e  nds available in
161f0 20 61 20 73 61 66 65 20 69 6e 74 65 72 70 72 65   a safe interpre
16200 74 65 72 2e 20 28 4a 4c 29 0a 0a 35 2f 31 33 2f  ter. (JL)..5/13/
16210 39 36 20 28 62 75 67 20 66 69 78 29 20 50 72 65  96 (bug fix) Pre
16220 76 65 6e 74 69 6e 67 20 4f 53 20 6c 65 76 65 6c  venting OS level
16230 20 68 61 6e 64 6c 65 73 20 66 6f 72 20 73 74 64   handles for std
16240 69 6e 2c 20 73 74 64 6f 75 74 20 61 6e 64 20 73  in, stdout and s
16250 74 64 65 72 72 0a 66 72 6f 6d 20 62 65 69 6e 67  tderr.from being
16260 20 69 6d 70 6c 69 63 69 74 6c 79 20 63 6c 6f 73   implicitly clos
16270 65 64 20 77 68 65 6e 20 74 68 65 20 6c 61 73 74  ed when the last
16280 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68   reference to th
16290 65 20 73 74 61 6e 64 61 72 64 0a 63 68 61 6e 6e  e standard.chann
162a0 65 6c 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68  el containing th
162b0 61 74 20 68 61 6e 64 6c 65 20 69 73 20 64 69 73  at handle is dis
162c0 63 61 72 64 65 64 20 77 68 65 6e 20 61 6e 20 69  carded when an i
162d0 6e 74 65 72 70 72 65 74 65 72 20 69 73 20 64 65  nterpreter is de
162e0 6c 65 74 65 64 2e 0a 45 78 70 6c 69 63 69 74 6c  leted..Explicitl
162f0 79 20 63 6c 6f 73 69 6e 67 20 73 74 61 6e 64 61  y closing standa
16300 72 64 20 63 68 61 6e 6e 65 6c 73 20 62 79 20 75  rd channels by u
16310 73 69 6e 67 20 22 63 6c 6f 73 65 22 20 73 74 69  sing "close" sti
16320 6c 6c 20 77 6f 72 6b 73 2e 20 28 4a 4c 29 0a 0a  ll works. (JL)..
16330 35 2f 32 31 2f 39 36 20 28 62 75 67 20 66 69 78  5/21/96 (bug fix
16340 29 20 44 6f 20 6e 6f 74 20 63 72 65 61 74 65 20  ) Do not create 
16350 63 68 61 6e 6e 65 6c 73 20 66 6f 72 20 73 74 64  channels for std
16360 69 6e 2c 20 73 74 64 6f 75 74 20 61 6e 64 20 73  in, stdout and s
16370 74 64 65 72 72 20 6f 6e 0a 55 6e 69 78 20 69 66  tderr on.Unix if
16380 20 74 68 65 20 64 65 76 69 63 65 73 20 61 72 65   the devices are
16390 20 63 6c 6f 73 65 64 2e 20 54 68 69 73 20 70 72   closed. This pr
163a0 65 76 65 6e 74 73 20 61 20 64 75 70 6c 69 63 61  events a duplica
163b0 74 65 20 63 68 61 6e 6e 65 6c 20 6e 61 6d 65 0a  te channel name.
163c0 70 61 6e 69 63 20 6c 61 74 65 72 20 6f 6e 20 77  panic later on w
163d0 68 65 6e 20 74 68 65 20 66 64 20 69 73 20 75 73  hen the fd is us
163e0 65 64 20 74 6f 20 6f 70 65 6e 20 61 20 63 68 61  ed to open a cha
163f0 6e 6e 65 6c 20 61 6e 64 20 74 68 65 20 63 68 61  nnel and the cha
16400 6e 6e 65 6c 20 69 73 0a 72 65 67 69 73 74 65 72  nnel is.register
16410 65 64 20 69 6e 20 61 6e 20 69 6e 74 65 72 70 72  ed in an interpr
16420 65 74 65 72 2e 20 28 4a 4c 29 0a 0a 35 2f 32 33  eter. (JL)..5/23
16430 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69  /96 (bug fix) Fi
16440 78 65 64 20 62 75 67 20 74 68 61 74 20 70 72 65  xed bug that pre
16450 76 65 6e 74 65 64 20 74 68 65 20 75 73 65 20 6f  vented the use o
16460 66 20 73 74 61 6e 64 61 72 64 20 63 68 61 6e 6e  f standard chann
16470 65 6c 73 20 69 6e 0a 69 6e 74 65 72 70 72 65 74  els in.interpret
16480 65 72 73 20 63 72 65 61 74 65 64 20 61 66 74 65  ers created afte
16490 72 20 74 68 65 20 6c 61 73 74 20 69 6e 74 65 72  r the last inter
164a0 70 72 65 74 65 72 20 77 61 73 20 64 65 73 74 72  preter was destr
164b0 6f 79 65 64 2e 20 49 6e 20 74 68 65 20 73 65 71  oyed. In the seq
164c0 75 65 6e 63 65 0a 0a 09 69 6e 74 65 72 70 20 3d  uence...interp =
164d0 20 54 63 6c 5f 43 72 65 61 74 65 49 6e 74 65 72   Tcl_CreateInter
164e0 70 28 29 3b 0a 09 54 63 6c 5f 44 65 6c 65 74 65  p();..Tcl_Delete
164f0 49 6e 74 65 72 70 28 69 6e 74 65 72 70 29 3b 0a  Interp(interp);.
16500 09 69 6e 74 65 72 70 20 3d 20 54 63 6c 5f 43 72  .interp = Tcl_Cr
16510 65 61 74 65 49 6e 74 65 72 70 28 29 3b 0a 0a 63  eateInterp();..c
16520 68 61 6e 6e 65 6c 73 20 66 6f 72 20 73 74 64 69  hannels for stdi
16530 6f 20 77 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61  o would not be a
16540 76 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20  vailable in the 
16550 73 65 63 6f 6e 64 20 69 6e 74 65 72 70 72 65 74  second interpret
16560 65 72 2e 20 28 4a 4c 29 0a 0a 35 2f 32 33 2f 39  er. (JL)..5/23/9
16570 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  6 (bug fix) Fixe
16580 64 20 62 75 67 20 74 68 61 74 20 61 6c 6c 6f 77  d bug that allow
16590 65 64 20 54 63 6c 5f 4d 61 6b 65 46 69 6c 65 43  ed Tcl_MakeFileC
165a0 68 61 6e 6e 65 6c 20 74 6f 20 63 72 65 61 74 65  hannel to create
165b0 20 6e 65 77 0a 63 68 61 6e 6e 65 6c 73 20 77 69   new.channels wi
165c0 74 68 20 54 63 6c 5f 46 69 6c 65 73 20 69 6e 20  th Tcl_Files in 
165d0 74 68 65 6d 20 74 68 61 74 20 61 72 65 20 61 6c  them that are al
165e0 72 65 61 64 79 20 75 73 65 64 20 62 79 20 61 6e  ready used by an
165f0 6f 74 68 65 72 20 63 68 61 6e 6e 65 6c 2e 0a 54  other channel..T
16600 68 69 73 20 77 6f 75 6c 64 20 63 61 75 73 65 20  his would cause 
16610 63 6f 72 65 20 64 75 6d 70 73 20 77 68 65 6e 20  core dumps when 
16620 74 68 65 20 54 63 6c 5f 46 69 6c 65 73 20 77 65  the Tcl_Files we
16630 72 65 20 62 65 69 6e 67 20 66 72 65 65 64 20 74  re being freed t
16640 77 69 63 65 2e 20 28 4a 4c 29 0a 0a 35 2f 32 33  wice. (JL)..5/23
16650 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69  /96 (bug fix) Fi
16660 78 65 64 20 61 20 6c 6f 67 69 63 61 6c 20 74 69  xed a logical ti
16670 6d 69 6e 67 20 62 75 67 20 74 68 61 74 20 63 61  ming bug that ca
16680 75 73 65 64 20 61 20 73 74 61 6e 64 61 72 64 20  used a standard 
16690 63 68 61 6e 6e 65 6c 0a 74 6f 20 62 65 20 72 65  channel.to be re
166a0 6d 6f 76 65 64 20 66 72 6f 6d 20 74 68 65 20 73  moved from the s
166b0 74 61 6e 64 61 72 64 20 63 68 61 6e 6e 65 6c 20  tandard channel 
166c0 74 61 62 6c 65 20 74 6f 6f 20 65 61 72 6c 79 20  table too early 
166d0 77 68 65 6e 20 74 68 65 20 63 68 61 6e 6e 65 6c  when the channel
166e0 0a 77 61 73 20 62 65 69 6e 67 20 63 6c 6f 73 65  .was being close
166f0 64 2e 20 49 66 20 74 68 65 20 63 68 61 6e 6e 65  d. If the channe
16700 6c 20 77 61 73 20 62 65 69 6e 67 20 66 6c 75 73  l was being flus
16710 68 65 64 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73  hed asynchronous
16720 6c 79 2c 20 69 74 20 63 6f 75 6c 64 0a 67 65 74  ly, it could.get
16730 20 72 65 63 72 65 61 74 65 64 20 62 65 66 6f 72   recreated befor
16740 65 20 62 65 69 6e 67 20 61 63 74 75 61 6c 6c 79  e being actually
16750 20 64 65 73 74 72 6f 79 65 64 2c 20 61 6e 64 20   destroyed, and 
16760 74 68 65 20 72 65 63 72 65 61 74 65 64 20 63 68  the recreated ch
16770 61 6e 6e 65 6c 0a 77 6f 75 6c 64 20 63 6f 6e 74  annel.would cont
16780 61 69 6e 20 74 68 65 20 73 61 6d 65 20 54 63 6c  ain the same Tcl
16790 5f 46 69 6c 65 20 61 73 20 74 68 65 20 6f 6e 65  _File as the one
167a0 20 62 65 69 6e 67 20 63 6c 6f 73 65 64 2c 20 6c   being closed, l
167b0 65 61 64 69 6e 67 20 74 6f 0a 64 61 6e 67 6c 69  eading to.dangli
167c0 6e 67 20 70 6f 69 6e 74 65 72 73 20 61 6e 64 20  ng pointers and 
167d0 63 6f 72 65 20 64 75 6d 70 73 2e 20 28 4a 4c 29  core dumps. (JL)
167e0 0a 0a 35 2f 32 37 2f 39 36 20 28 62 75 67 20 66  ..5/27/96 (bug f
167f0 69 78 29 20 46 69 78 65 64 20 61 20 62 75 67 20  ix) Fixed a bug 
16800 69 6e 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65  in Tcl_GetChanne
16810 6c 4f 70 74 69 6f 6e 20 77 68 69 63 68 20 63 61  lOption which ca
16820 75 73 65 64 20 69 74 20 74 6f 0a 61 6c 77 61 79  used it to.alway
16830 73 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20  s return a list 
16840 6f 66 20 6f 6e 65 20 65 6c 65 6d 65 6e 74 2c 20  of one element, 
16850 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 73 65  a list of the se
16860 74 74 69 6e 67 73 2c 20 66 6f 72 0a 2d 74 72 61  ttings, for.-tra
16870 6e 73 6c 61 74 69 6f 6e 20 61 6e 64 20 2d 65 6f  nslation and -eo
16880 66 63 68 61 72 20 6f 70 74 69 6f 6e 73 2e 20 4e  fchar options. N
16890 6f 77 20 63 6f 72 72 65 63 74 6c 79 20 72 65 74  ow correctly ret
168a0 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 0a 64  urns the value.d
168b0 65 73 63 72 69 62 65 64 20 62 79 20 74 68 65 20  escribed by the 
168c0 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 28 4d  documentation (M
168d0 61 72 6b 20 44 69 65 6b 68 61 6e 73 20 66 6f 75  ark Diekhans fou
168e0 6e 64 20 74 68 69 73 2c 20 74 68 61 6e 6b 73 21  nd this, thanks!
168f0 29 2e 20 28 4a 4c 29 0a 0a 35 2f 33 30 2f 39 36  ). (JL)..5/30/96
16900 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
16910 20 61 20 63 6f 75 70 6c 65 20 6f 66 20 73 79 6e   a couple of syn
16920 74 61 78 20 65 72 72 6f 72 73 20 69 6e 20 69 6f  tax errors in io
16930 2e 74 65 73 74 2e 20 28 4a 4c 29 0a 0a 35 2f 33  .test. (JL)..5/3
16940 30 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 49  0/96 (bug fix) I
16950 66 20 61 20 66 69 6c 65 65 76 65 6e 74 20 73 63  f a fileevent sc
16960 72 69 70 74 73 20 67 65 74 73 20 61 6e 20 65 72  ripts gets an er
16970 72 6f 72 2c 20 64 65 6c 65 74 65 20 69 74 20 62  ror, delete it b
16980 65 66 6f 72 65 0a 63 61 75 73 69 6e 67 20 61 20  efore.causing a 
16990 62 61 63 6b 67 72 6f 75 6e 64 20 65 72 72 6f 72  background error
169a0 2e 20 54 68 69 73 20 69 73 20 74 6f 20 61 6c 6c  . This is to all
169b0 6f 77 20 74 68 65 20 65 72 72 6f 72 20 68 61 6e  ow the error han
169c0 64 6c 65 72 20 74 6f 20 72 65 69 6e 73 74 61 6c  dler to reinstal
169d0 6c 0a 74 68 65 20 66 69 6c 65 65 76 65 6e 74 20  l.the fileevent 
169e0 61 6e 64 20 74 6f 20 70 72 65 76 65 6e 74 20 69  and to prevent i
169f0 6e 66 69 6e 69 74 65 20 6c 6f 6f 70 73 20 69 66  nfinite loops if
16a00 20 74 68 65 20 65 76 65 6e 74 20 6c 6f 6f 70 20   the event loop 
16a10 69 73 20 72 65 65 6e 74 65 72 65 64 0a 69 6e 20  is reentered.in 
16a20 74 68 65 20 65 72 72 6f 72 20 68 61 6e 64 6c 65  the error handle
16a30 72 2e 20 28 4a 4c 29 0a 0a 35 2f 33 31 2f 39 36  r. (JL)..5/31/96
16a40 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e 6e   (bug fix) Chann
16a50 65 6c 73 20 6e 6f 77 20 77 69 6c 6c 20 67 65 74  els now will get
16a60 20 70 72 6f 70 65 72 6c 79 20 66 6c 75 73 68 65   properly flushe
16a70 64 20 6f 6e 20 65 78 69 74 2e 20 28 4a 4c 29 0a  d on exit. (JL).
16a80 0a 36 2f 35 2f 39 36 20 28 62 75 67 20 66 69 78  .6/5/96 (bug fix
16a90 29 20 43 68 61 6e 67 65 64 20 54 63 6c 5f 43 6b  ) Changed Tcl_Ck
16aa0 61 6c 6c 6f 63 2c 20 54 63 6c 5f 43 6b 66 72 65  alloc, Tcl_Ckfre
16ab0 65 2c 20 61 6e 64 20 54 63 6c 5f 43 6b 72 65 61  e, and Tcl_Ckrea
16ac0 6c 6c 6f 63 20 74 6f 0a 54 63 6c 5f 41 6c 6c 6f  lloc to.Tcl_Allo
16ad0 63 2c 20 54 63 6c 5f 46 72 65 65 2c 20 61 6e 64  c, Tcl_Free, and
16ae0 20 54 63 6c 5f 52 65 61 6c 6c 6f 63 2e 20 20 41   Tcl_Realloc.  A
16af0 64 64 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69  dded documentati
16b00 6f 6e 20 66 6f 72 20 74 68 65 73 65 0a 72 6f 75  on for these.rou
16b10 74 69 6e 65 73 20 6e 6f 77 20 74 68 61 74 20 74  tines now that t
16b20 68 65 79 20 61 72 65 20 6f 66 66 69 63 69 61 6c  hey are official
16b30 6c 79 20 73 75 70 70 6f 72 74 65 64 2e 20 20 45  ly supported.  E
16b40 78 74 65 6e 73 69 6f 6e 20 77 72 69 74 65 72 73  xtension writers
16b50 0a 73 68 6f 75 6c 64 20 75 73 65 20 74 68 65 73  .should use thes
16b60 65 20 72 6f 75 74 69 6e 65 73 20 69 6e 73 74 65  e routines inste
16b70 61 64 20 6f 66 20 66 72 65 65 28 29 20 61 6e 64  ad of free() and
16b80 20 6d 61 6c 6c 6f 63 28 29 2e 20 28 53 53 29 0a   malloc(). (SS).
16b90 0a 36 2f 31 30 2f 39 36 20 28 62 75 67 20 66 69  .6/10/96 (bug fi
16ba0 78 29 20 43 68 61 6e 67 65 73 20 74 68 65 20 54  x) Changes the T
16bb0 63 6c 20 63 6c 6f 73 65 20 63 6f 6d 6d 61 6e 64  cl close command
16bc0 20 73 6f 20 74 68 61 74 20 69 74 20 6e 6f 20 6c   so that it no l
16bd0 6f 6e 67 65 72 0a 77 61 69 74 73 20 6f 6e 20 6e  onger.waits on n
16be0 6f 6e 62 6c 6f 63 6b 69 6e 67 20 70 69 70 65 73  onblocking pipes
16bf0 20 66 6f 72 20 74 68 65 20 70 69 70 65 64 20 70   for the piped p
16c00 72 6f 63 65 73 73 65 73 20 74 6f 20 65 78 69 74  rocesses to exit
16c10 3b 20 69 6e 73 74 65 61 64 20 69 74 0a 72 65 61  ; instead it.rea
16c20 70 73 20 74 68 65 6d 20 69 6e 20 74 68 65 20 62  ps them in the b
16c30 61 63 6b 67 72 6f 75 6e 64 2e 20 28 4a 4c 29 0a  ackground. (JL).
16c40 0a 36 2f 31 31 2f 39 36 20 28 62 75 67 20 66 69  .6/11/96 (bug fi
16c50 78 29 20 49 6e 63 72 65 61 73 65 64 20 74 68 65  x) Increased the
16c60 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 6c   length of the l
16c70 69 73 74 65 6e 20 71 75 65 75 65 20 66 6f 72 20  isten queue for 
16c80 73 65 72 76 65 72 0a 73 6f 63 6b 65 74 73 20 6f  server.sockets o
16c90 6e 20 55 6e 69 78 20 66 72 6f 6d 20 35 20 74 6f  n Unix from 5 to
16ca0 20 31 30 30 2e 20 53 6f 6d 65 20 4f 53 65 73 20   100. Some OSes 
16cb0 77 69 6c 6c 20 64 69 73 72 65 67 61 72 64 20 74  will disregard t
16cc0 68 69 73 20 61 6e 64 20 72 65 73 65 74 20 69 74  his and reset it
16cd0 0a 74 6f 20 35 2c 20 62 75 74 20 77 65 20 73 68  .to 5, but we sh
16ce0 6f 75 6c 64 20 74 72 79 20 74 6f 20 67 65 74 20  ould try to get 
16cf0 61 73 20 6c 6f 6e 67 20 61 20 71 75 65 75 65 20  as long a queue 
16d00 61 73 20 77 65 20 63 61 6e 2c 20 66 6f 72 20 70  as we can, for p
16d10 65 72 66 6f 72 6d 61 6e 63 65 0a 72 65 61 73 6f  erformance.reaso
16d20 6e 73 2e 20 28 4a 4c 29 0a 0a 36 2f 31 31 2f 39  ns. (JL)..6/11/9
16d30 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  6 (bug fix) Fixe
16d40 64 20 77 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74  d windows socket
16d50 73 20 62 75 67 20 74 68 61 74 20 63 61 75 73 65  s bug that cause
16d60 64 20 61 20 63 61 73 63 61 64 65 20 6f 66 20 65  d a cascade of e
16d70 76 65 6e 74 73 0a 69 66 20 74 68 65 20 66 69 6c  vents.if the fil
16d80 65 65 76 65 6e 74 20 73 63 72 69 70 74 20 72 65  eevent script re
16d90 61 64 20 6c 65 73 73 20 74 68 61 6e 20 77 61 73  ad less than was
16da0 20 61 76 61 69 6c 61 62 6c 65 2e 20 4e 6f 77 20   available. Now 
16db0 72 65 61 64 69 6e 67 20 6c 65 73 73 20 74 68 61  reading less tha
16dc0 6e 0a 69 73 20 61 76 61 69 6c 61 62 6c 65 20 64  n.is available d
16dd0 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 61 20  oes not cause a 
16de0 66 6c 6f 6f 64 20 6f 66 20 54 63 6c 20 65 76 65  flood of Tcl eve
16df0 6e 74 73 2e 20 28 4a 4c 2c 20 53 53 29 0a 0a 36  nts. (JL, SS)..6
16e00 2f 31 31 2f 39 36 20 28 62 75 67 20 66 69 78 29  /11/96 (bug fix)
16e10 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 62 61   Fixed bug in ba
16e20 63 6b 67 72 6f 75 6e 64 20 66 6c 75 73 68 69 6e  ckground flushin
16e30 67 20 6f 6e 20 63 6c 6f 73 65 64 20 63 68 61 6e  g on closed chan
16e40 6e 65 6c 73 20 74 68 61 74 0a 77 6f 75 6c 64 20  nels that.would 
16e50 70 72 65 76 65 6e 74 20 74 68 65 20 6c 61 73 74  prevent the last
16e60 20 62 75 66 66 65 72 20 66 72 6f 6d 20 67 65 74   buffer from get
16e70 74 69 6e 67 20 66 6c 75 73 68 65 64 2e 20 28 4a  ting flushed. (J
16e80 4c 29 0a 0a 36 2f 31 33 2f 39 36 20 28 62 75 67  L)..6/13/96 (bug
16e90 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20   fix) Fixed bug 
16ea0 69 6e 20 57 69 6e 64 6f 77 73 20 73 6f 63 6b 65  in Windows socke
16eb0 74 73 20 74 68 61 74 20 63 61 75 73 65 64 20 61  ts that caused a
16ec0 20 63 6f 72 65 20 64 75 6d 70 20 69 66 0a 61 20   core dump if.a 
16ed0 44 4c 4c 20 6c 69 6e 6b 65 64 20 77 69 74 68 20  DLL linked with 
16ee0 74 63 6c 2e 64 6c 6c 20 61 6e 64 20 72 65 66 65  tcl.dll and refe
16ef0 72 72 65 64 20 74 6f 20 65 2e 67 2e 20 6e 74 6f  rred to e.g. nto
16f00 68 73 28 29 20 77 69 74 68 6f 75 74 20 6f 70 65  hs() without ope
16f10 6e 69 6e 67 20 61 0a 54 63 6c 20 73 6f 63 6b 65  ning a.Tcl socke
16f20 74 2e 20 54 68 65 20 70 72 6f 62 6c 65 6d 20 77  t. The problem w
16f30 61 73 20 74 68 61 74 20 74 68 65 20 69 6e 64 69  as that the indi
16f40 72 65 63 74 69 6f 6e 20 74 61 62 6c 65 20 77 61  rection table wa
16f50 73 20 6e 6f 74 20 62 65 69 6e 67 0a 69 6e 69 74  s not being.init
16f60 69 61 6c 69 7a 65 64 2e 20 28 4a 4c 29 0a 0a 36  ialized. (JL)..6
16f70 2f 31 33 2f 39 36 20 28 62 75 67 20 66 69 78 29  /13/96 (bug fix)
16f80 20 46 69 78 65 64 20 4f 53 20 6c 65 76 65 6c 20   Fixed OS level 
16f90 72 65 73 6f 75 72 63 65 20 6c 65 61 6b 20 74 68  resource leak th
16fa0 61 74 20 77 6f 75 6c 64 20 6f 63 63 75 72 20 77  at would occur w
16fb0 68 65 6e 20 61 0a 54 63 6c 20 63 68 61 6e 6e 65  hen a.Tcl channe
16fc0 6c 20 77 61 73 20 73 74 69 6c 6c 20 72 65 67 69  l was still regi
16fd0 73 74 65 72 65 64 20 69 6e 20 73 6f 6d 65 20 69  stered in some i
16fe0 6e 74 65 72 70 72 65 74 65 72 20 77 68 65 6e 20  nterpreter when 
16ff0 74 68 65 20 70 72 6f 63 65 73 73 0a 65 78 69 74  the process.exit
17000 73 2e 20 50 72 65 76 69 6f 75 73 6c 79 20 74 68  s. Previously th
17010 65 20 63 68 61 6e 6e 65 6c 20 77 61 73 20 6e 6f  e channel was no
17020 74 20 62 65 69 6e 67 20 63 6c 6f 73 65 64 20 61  t being closed a
17030 6e 64 20 74 68 65 20 4f 53 20 6c 65 76 65 6c 20  nd the OS level 
17040 68 61 6e 64 6c 65 73 0a 77 65 72 65 20 6e 6f 74  handles.were not
17050 20 62 65 69 6e 67 20 72 65 6c 65 61 73 65 64 3b   being released;
17060 20 74 68 65 20 6f 75 74 70 75 74 20 77 61 73 20   the output was 
17070 62 65 69 6e 67 20 66 6c 75 73 68 65 64 20 62 75  being flushed bu
17080 74 20 74 68 65 20 64 65 76 69 63 65 20 77 61 73  t the device was
17090 0a 6e 6f 74 20 62 65 69 6e 67 20 63 6c 6f 73 65  .not being close
170a0 64 2e 20 4e 6f 77 20 74 68 65 20 64 65 76 69 63  d. Now the devic
170b0 65 20 69 73 20 70 72 6f 70 65 72 6c 79 20 63 6c  e is properly cl
170c0 6f 73 65 64 2e 20 54 68 69 73 20 77 61 73 20 6f  osed. This was o
170d0 6e 6c 79 20 61 0a 70 72 6f 62 6c 65 6d 20 6f 6e  nly a.problem on
170e0 20 57 69 6e 33 2e 31 20 61 6e 64 20 4d 61 63 4f   Win3.1 and MacO
170f0 53 2e 20 28 4a 4c 2c 20 53 53 29 0a 0a 36 2f 32  S. (JL, SS)..6/2
17100 38 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 46  8/96 (bug fix) F
17110 69 78 65 64 20 62 75 67 20 77 68 65 72 65 20 74  ixed bug where t
17120 72 61 6e 73 69 65 6e 74 20 65 72 72 6f 72 73 20  ransient errors 
17130 77 65 72 65 20 6c 65 61 76 69 6e 67 20 61 6e 20  were leaving an 
17140 65 72 72 6f 72 0a 63 6f 64 65 20 61 72 6f 75 6e  error.code aroun
17150 64 2c 20 73 6f 20 74 68 61 74 20 69 74 20 77 6f  d, so that it wo
17160 75 6c 64 20 65 72 72 6f 6e 65 6f 75 73 6c 79 20  uld erroneously 
17170 67 65 74 20 72 65 70 6f 72 74 65 64 20 6c 61 74  get reported lat
17180 65 72 2e 20 54 68 69 73 20 62 75 67 20 77 61 73  er. This bug was
17190 0a 65 78 65 72 63 69 73 65 64 20 69 6e 74 65 72  .exercised inter
171a0 6d 69 74 74 65 6e 74 6c 79 20 62 79 20 63 6c 6f  mittently by clo
171b0 73 69 6e 67 20 61 20 63 68 61 6e 6e 65 6c 20 74  sing a channel t
171c0 6f 20 61 20 66 69 6c 65 20 6f 6e 20 61 20 76 65  o a file on a ve
171d0 72 79 20 6c 6f 61 64 65 64 0a 4e 46 53 20 73 65  ry loaded.NFS se
171e0 72 76 65 72 2c 20 6f 72 20 74 6f 20 61 20 73 6f  rver, or to a so
171f0 63 6b 65 74 20 77 68 6f 73 65 20 6f 74 68 65 72  cket whose other
17200 20 65 6e 64 20 62 6c 6f 63 6b 65 64 2e 20 28 4a   end blocked. (J
17210 4c 2c 20 42 57 29 0a 0a 37 2f 33 2f 39 36 20 28  L, BW)..7/3/96 (
17220 62 75 67 20 66 69 78 29 20 46 69 6c 65 65 76 65  bug fix) Fileeve
17230 6e 74 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20  nts declared in 
17240 61 6e 20 69 6e 74 65 72 70 72 65 74 65 72 20 61  an interpreter a
17250 72 65 20 6e 6f 77 20 64 65 6c 65 74 65 64 0a 77  re now deleted.w
17260 68 65 6e 20 74 68 65 20 63 68 61 6e 6e 65 6c 20  hen the channel 
17270 69 73 20 63 6c 6f 73 65 64 20 69 6e 20 74 68 61  is closed in tha
17280 74 20 69 6e 74 65 72 70 72 65 74 65 72 2e 20 42  t interpreter. B
17290 65 66 6f 72 65 20 74 68 69 73 20 66 69 78 2c 20  efore this fix, 
172a0 74 68 65 0a 66 69 6c 65 65 76 65 6e 74 20 77 6f  the.fileevent wo
172b0 75 6c 64 20 68 61 6e 67 20 61 72 6f 75 6e 64 20  uld hang around 
172c0 75 6e 74 69 6c 20 74 68 65 20 63 68 61 6e 6e 65  until the channe
172d0 6c 20 69 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20  l is completely 
172e0 63 6c 6f 73 65 64 2c 20 61 6e 64 0a 77 6f 75 6c  closed, and.woul
172f0 64 20 63 61 75 73 65 20 65 72 72 6f 72 73 20 69  d cause errors i
17300 66 20 65 76 65 6e 74 73 20 68 61 70 70 65 6e 65  f events happene
17310 64 20 62 65 66 6f 72 65 20 74 68 65 20 63 68 61  d before the cha
17320 6e 6e 65 6c 20 77 61 73 20 63 6c 6f 73 65 64 2e  nnel was closed.
17330 20 54 68 69 73 0a 63 6f 75 6c 64 20 68 61 70 70   This.could happ
17340 65 6e 20 69 6e 20 74 77 6f 20 63 61 73 65 73 3a  en in two cases:
17350 20 66 69 72 73 74 20 69 66 20 74 68 65 20 63 68   first if the ch
17360 61 6e 6e 65 6c 20 69 73 20 73 68 61 72 65 64 20  annel is shared 
17370 62 65 74 77 65 65 6e 20 73 65 76 65 72 61 6c 0a  between several.
17380 69 6e 74 65 72 70 72 65 74 65 72 73 2c 20 61 6e  interpreters, an
17390 64 20 73 65 63 6f 6e 64 20 69 66 20 61 6e 20 61  d second if an a
173a0 73 79 6e 63 20 66 6c 75 73 68 20 69 73 20 69 6e  sync flush is in
173b0 20 70 72 6f 67 72 65 73 73 20 74 68 61 74 20 70   progress that p
173c0 72 65 76 65 6e 74 73 20 74 68 65 0a 63 68 61 6e  revents the.chan
173d0 6e 65 6c 20 66 72 6f 6d 20 62 65 69 6e 67 20 63  nel from being c
173e0 6c 6f 73 65 64 20 75 6e 74 69 6c 20 74 68 65 20  losed until the 
173f0 66 6c 75 73 68 20 66 69 6e 69 73 68 65 73 2e 20  flush finishes. 
17400 28 4a 4c 29 0a 0a 37 2f 31 30 2f 39 36 20 28 62  (JL)..7/10/96 (b
17410 75 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75  ug fix) Fixed bu
17420 67 73 20 69 6e 20 62 6f 74 68 20 22 6c 72 61 6e  gs in both "lran
17430 67 65 22 20 61 6e 64 20 22 6c 72 65 70 6c 61 63  ge" and "lreplac
17440 65 22 20 63 6f 6d 6d 61 6e 64 73 0a 77 68 65 72  e" commands.wher
17450 65 20 74 6f 6f 20 6d 75 63 68 20 77 68 69 74 65  e too much white
17460 20 73 70 61 63 65 20 77 61 73 20 62 65 69 6e 67   space was being
17470 20 72 65 6d 6f 76 65 64 2e 20 46 6f 72 20 65 78   removed. For ex
17480 61 6d 70 6c 65 2c 20 74 68 65 20 63 6f 6d 6d 61  ample, the comma
17490 6e 64 0a 09 09 6c 72 65 70 6c 61 63 65 20 7b 5c  nd...lreplace {\
174a0 7d 5c 20 20 20 20 20 68 65 6c 6c 6f 7d 20 65 6e  }\     hello} en
174b0 64 20 65 6e 64 0a 77 61 73 20 72 65 74 75 72 6e  d end.was return
174c0 69 6e 67 20 22 5c 7d 5c 22 2c 20 6c 6f 73 69 6e  ing "\}\", losin
174d0 67 20 74 68 65 20 73 69 67 6e 69 66 69 63 61 6e  g the significan
174e0 74 20 73 70 61 63 65 20 69 6e 20 74 68 65 20 66  t space in the f
174f0 69 72 73 74 20 6c 69 73 74 0a 65 6c 65 6d 65 6e  irst list.elemen
17500 74 20 61 6e 64 20 63 6f 72 72 75 70 74 69 6e 67  t and corrupting
17510 20 74 68 65 20 6c 69 73 74 2e 20 28 4a 4f 29 0a   the list. (JO).
17520 0a 37 2f 32 30 2f 39 36 20 28 62 75 67 20 66 69  .7/20/96 (bug fi
17530 78 29 20 54 68 65 20 70 72 6f 63 65 64 75 72 65  x) The procedure
17540 20 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 64 69 64   pkg_mkIndex did
17550 6e 27 74 20 77 6f 72 6b 20 70 72 6f 70 65 72 6c  n't work properl
17560 79 20 66 6f 72 0a 65 78 74 65 6e 73 69 6f 6e 73  y for.extensions
17570 20 74 68 61 74 20 64 65 70 65 6e 64 20 6f 6e 20   that depend on 
17580 54 6b 2c 20 62 65 63 61 75 73 65 20 69 74 20 64  Tk, because it d
17590 69 64 6e 27 74 20 6c 6f 61 64 20 54 6b 20 69 6e  idn't load Tk in
175a0 74 6f 20 74 68 65 20 63 68 69 6c 64 0a 69 6e 74  to the child.int
175b0 65 72 70 72 65 74 65 72 20 62 65 66 6f 72 65 20  erpreter before 
175c0 6c 6f 61 64 69 6e 67 20 74 68 65 20 65 78 74 65  loading the exte
175d0 6e 73 69 6f 6e 2e 20 20 4e 6f 77 20 69 74 20 6c  nsion.  Now it l
175e0 6f 61 64 73 20 54 6b 20 69 66 20 54 6b 20 69 73  oads Tk if Tk is
175f0 0a 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20  .present in the 
17600 70 61 72 65 6e 74 2e 20 28 4a 4f 29 0a 0a 37 2f  parent. (JO)..7/
17610 32 33 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  23/96 (bug fix) 
17620 41 64 64 65 64 20 63 6f 6d 70 61 74 20 76 65 72  Added compat ver
17630 73 69 6f 6e 20 6f 66 20 73 74 72 66 74 69 6d 65  sion of strftime
17640 20 74 6f 20 66 69 78 20 63 72 61 73 68 65 73 0a   to fix crashes.
17650 72 65 73 75 6c 74 69 6e 67 20 66 72 6f 6d 20 62  resulting from b
17660 61 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  ad implementatio
17670 6e 73 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 73  ns under Windows
17680 2e 20 28 53 53 29 0a 0a 37 2f 32 33 2f 39 36 20  . (SS)..7/23/96 
17690 28 62 75 67 20 66 69 78 29 20 53 74 61 6e 64 61  (bug fix) Standa
176a0 72 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f  rd implementatio
176b0 6e 73 20 6f 66 20 67 6d 74 69 6d 65 28 29 20 61  ns of gmtime() a
176c0 6e 64 20 6c 6f 63 61 6c 74 69 6d 65 28 29 0a 75  nd localtime().u
176d0 6e 64 65 72 20 57 69 6e 64 6f 77 73 20 64 69 64  nder Windows did
176e0 20 6e 6f 74 20 68 61 6e 64 6c 65 20 64 61 74 65   not handle date
176f0 73 20 62 65 66 6f 72 65 20 31 39 37 30 2c 20 73  s before 1970, s
17700 6f 20 74 68 65 79 20 77 65 72 65 20 72 65 70 6c  o they were repl
17710 61 63 65 64 0a 77 69 74 68 20 61 20 72 65 76 69  aced.with a revi
17720 73 65 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  sed implementati
17730 6f 6e 2e 20 28 53 53 29 0a 0a 37 2f 32 33 2f 39  on. (SS)..7/23/9
17740 36 20 28 62 75 67 20 66 69 78 29 20 54 63 6c 20  6 (bug fix) Tcl 
17750 77 6f 75 6c 64 20 63 72 61 73 68 20 6f 6e 20 65  would crash on e
17760 78 69 74 20 75 6e 64 65 72 20 42 6f 72 6c 61 6e  xit under Borlan
17770 64 20 35 2e 30 20 62 65 63 61 75 73 65 0a 74 68  d 5.0 because.th
17780 65 20 67 6c 6f 62 61 6c 20 65 6e 76 69 72 6f 6e  e global environ
17790 20 70 6f 69 6e 74 65 72 20 77 61 73 20 6c 65 66   pointer was lef
177a0 74 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 66 72  t pointing to fr
177b0 65 65 64 20 6d 65 6d 6f 72 79 2e 20 28 53 53 29  eed memory. (SS)
177c0 0a 0a 37 2f 32 39 2f 39 36 20 28 62 75 67 20 66  ..7/29/96 (bug f
177d0 69 78 29 20 46 69 78 65 64 20 6d 65 6d 6f 72 79  ix) Fixed memory
177e0 20 6c 65 61 6b 20 69 6e 20 54 63 6c 5f 4c 6f 61   leak in Tcl_Loa
177f0 64 43 6d 64 20 74 68 61 74 20 63 6f 75 6c 64 20  dCmd that could 
17800 6f 63 63 75 72 20 69 66 0a 61 20 70 61 63 6b 61  occur if.a packa
17810 67 65 27 73 20 41 70 70 49 6e 69 74 20 70 72 6f  ge's AppInit pro
17820 63 65 64 75 72 65 20 63 61 6c 6c 65 64 20 54 63  cedure called Tc
17830 6c 5f 53 74 61 74 69 63 50 61 63 6b 61 67 65 20  l_StaticPackage 
17840 74 6f 20 72 65 67 69 73 74 65 72 0a 73 74 61 74  to register.stat
17850 69 63 20 70 61 63 6b 61 67 65 73 2e 20 28 4a 4f  ic packages. (JO
17860 29 0a 0a 38 2f 31 2f 39 36 20 28 62 75 67 20 66  )..8/1/96 (bug f
17870 69 78 29 20 46 69 78 65 64 20 61 20 73 65 72 69  ix) Fixed a seri
17880 65 73 20 6f 66 20 62 75 67 73 20 69 6e 20 57 69  es of bugs in Wi
17890 6e 64 6f 77 73 20 73 6f 63 6b 65 74 73 20 73 6f  ndows sockets so
178a0 20 74 68 61 74 20 61 73 79 6e 63 0a 77 72 69 74   that async.writ
178b0 65 62 65 68 69 6e 64 20 69 6e 20 74 68 65 20 70  ebehind in the p
178c0 72 65 73 65 6e 63 65 20 6f 66 20 72 65 61 64 20  resence of read 
178d0 65 76 65 6e 74 20 68 61 6e 64 6c 65 72 73 20 6e  event handlers n
178e0 6f 77 20 77 6f 72 6b 73 2c 20 61 6e 64 20 73 6f  ow works, and so
178f0 20 74 68 61 74 0a 61 73 79 6e 63 20 77 72 69 74   that.async writ
17900 65 62 65 68 69 6e 64 20 61 6c 73 6f 20 77 6f 72  ebehind also wor
17910 6b 73 20 6f 6e 20 73 6f 63 6b 65 74 73 20 66 6f  ks on sockets fo
17920 72 20 77 68 69 63 68 20 61 20 72 65 61 64 20 65  r which a read e
17930 76 65 6e 74 20 68 61 6e 64 6c 65 72 20 77 61 73  vent handler was
17940 0a 64 65 63 6c 61 72 65 64 20 61 6e 64 20 77 68  .declared and wh
17950 6f 73 65 20 63 68 61 6e 6e 65 6c 73 20 77 65 72  ose channels wer
17960 65 20 74 68 65 6e 20 63 6c 6f 73 65 64 20 62 65  e then closed be
17970 66 6f 72 65 20 74 68 65 20 61 73 79 6e 63 20 77  fore the async w
17980 72 69 74 65 0a 66 69 6e 69 73 68 65 64 2e 20 54  rite.finished. T
17990 68 65 20 62 75 67 20 77 61 73 20 72 65 70 6f 72  he bug was repor
179a0 74 65 64 20 62 79 20 4a 6f 68 6e 20 4c 6f 76 65  ted by John Love
179b0 72 73 6f 20 61 6e 64 20 53 74 65 76 65 6e 20 57  rso and Steven W
179c0 61 68 6c 2c 0a 69 6e 64 65 70 65 6e 64 65 6e 74  ahl,.independent
179d0 6c 79 2c 20 74 65 73 74 20 63 61 73 65 20 73 75  ly, test case su
179e0 70 70 6c 69 65 64 20 62 79 20 4a 6f 68 6e 20 4c  pplied by John L
179f0 6f 76 65 72 73 6f 2e 20 28 4a 4c 29 0a 0a 2d 2d  overso. (JL)..--
17a00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20  --------------- 
17a10 52 65 6c 65 61 73 65 64 20 70 61 74 63 68 20 37  Released patch 7
17a20 2e 35 70 31 2c 20 38 2f 32 2f 39 36 20 2d 2d 2d  .5p1, 8/2/96 ---
17a30 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
17a40 2d 2d 2d 2d 0a 0a 35 2f 38 2f 39 36 20 28 6e 65  ----..5/8/96 (ne
17a50 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
17a60 20 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 4d   Tcl_GetChannelM
17a70 6f 64 65 20 43 20 41 50 49 20 66 6f 72 20 72 65  ode C API for re
17a80 74 72 69 65 76 69 6e 67 20 77 68 65 74 68 65 72  trieving whether
17a90 0a 61 20 63 68 61 6e 6e 65 6c 20 69 73 20 6f 70  .a channel is op
17aa0 65 6e 20 66 6f 72 20 72 65 61 64 69 6e 67 20 61  en for reading a
17ab0 6e 64 20 77 72 69 74 69 6e 67 2e 20 28 4a 4c 29  nd writing. (JL)
17ac0 0a 0a 35 2f 38 2f 39 36 20 28 41 50 49 20 63 68  ..5/8/96 (API ch
17ad0 61 6e 67 65 73 29 20 52 65 76 69 73 65 64 20 43  anges) Revised C
17ae0 20 41 50 49 73 20 66 6f 72 20 63 68 61 6e 6e 65   APIs for channe
17af0 6c 20 64 72 69 76 65 72 73 3a 0a 20 20 20 20 2d  l drivers:.    -
17b00 20 52 65 6d 6f 76 65 64 20 61 6c 6c 20 54 63 6c   Removed all Tcl
17b10 5f 46 69 6c 65 73 20 66 72 6f 6d 20 63 68 61 6e  _Files from chan
17b20 6e 65 6c 20 64 72 69 76 65 72 20 69 6e 74 65 72  nel driver inter
17b30 66 61 63 65 3b 20 79 6f 75 20 63 61 6e 20 6e 6f  face; you can no
17b40 77 20 68 61 76 65 0a 20 20 20 20 20 20 63 68 61  w have.      cha
17b50 6e 6e 65 6c 73 20 74 68 61 74 20 61 72 65 20 6e  nnels that are n
17b60 6f 74 20 62 61 73 65 64 20 6f 6e 20 54 63 6c 5f  ot based on Tcl_
17b70 46 69 6c 65 73 2e 0a 20 20 20 20 2d 20 41 64 64  Files..    - Add
17b80 65 64 20 63 68 61 6e 6e 65 6c 52 65 61 64 79 50  ed channelReadyP
17b90 72 6f 63 20 61 6e 64 20 77 61 74 63 68 43 68 61  roc and watchCha
17ba0 6e 6e 65 6c 50 72 6f 63 20 70 72 6f 63 65 64 75  nnelProc procedu
17bb0 72 65 73 20 74 6f 20 69 6e 74 65 72 66 61 63 65  res to interface
17bc0 3b 0a 20 20 20 20 20 20 74 68 65 73 65 20 61 72  ;.      these ar
17bd0 65 20 75 73 65 64 20 74 6f 20 69 6d 70 6c 65 6d  e used to implem
17be0 65 6e 74 20 65 76 65 6e 74 20 6e 6f 74 69 66 69  ent event notifi
17bf0 63 61 74 69 6f 6e 20 66 6f 72 20 63 68 61 6e 6e  cation for chann
17c00 65 6c 73 2e 0a 20 20 20 20 2d 20 41 64 64 65 64  els..    - Added
17c10 20 67 65 74 46 69 6c 65 50 72 6f 63 20 74 6f 20   getFileProc to 
17c20 63 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 2c 20  channel driver, 
17c30 74 6f 20 61 6c 6c 6f 77 20 74 68 65 20 67 65 6e  to allow the gen
17c40 65 72 69 63 20 49 4f 20 63 6f 64 65 0a 20 20 20  eric IO code.   
17c50 20 20 20 74 6f 20 72 65 74 72 69 65 76 65 20 61     to retrieve a
17c60 20 54 63 6c 5f 46 69 6c 65 20 66 72 6f 6d 20 61   Tcl_File from a
17c70 20 63 68 61 6e 6e 65 6c 20 28 70 72 65 73 75 6d   channel (presum
17c80 61 62 6c 79 20 69 66 20 74 68 65 20 63 68 61 6e  ably if the chan
17c90 6e 65 6c 0a 20 20 20 20 20 20 75 73 65 73 20 54  nel.      uses T
17ca0 63 6c 5f 46 69 6c 65 73 20 74 68 65 79 20 77 69  cl_Files they wi
17cb0 6c 6c 20 62 65 20 73 74 6f 72 65 64 20 69 6e 73  ll be stored ins
17cc0 69 64 65 20 69 74 73 20 69 6e 73 74 61 6e 63 65  ide its instance
17cd0 44 61 74 61 29 2e 20 28 4a 4c 29 0a 2a 2a 2a 20  Data). (JL).*** 
17ce0 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
17cf0 77 69 74 68 20 54 63 6c 20 37 2e 35 20 2a 2a 2a  with Tcl 7.5 ***
17d00 0a 0a 35 2f 38 2f 39 36 20 28 41 50 49 20 63 68  ..5/8/96 (API ch
17d10 61 6e 67 65 29 20 54 68 65 20 54 63 6c 5f 43 72  ange) The Tcl_Cr
17d20 65 61 74 65 43 68 61 6e 6e 65 6c 20 43 20 41 50  eateChannel C AP
17d30 49 20 77 61 73 20 6d 6f 64 69 66 69 65 64 20 74  I was modified t
17d40 6f 20 6e 6f 74 20 74 61 6b 65 0a 54 63 6c 5f 46  o not take.Tcl_F
17d50 69 6c 65 20 61 72 67 75 6d 65 6e 74 73 2c 20 61  ile arguments, a
17d60 6e 64 20 69 6e 73 74 65 61 64 20 74 6f 20 74 61  nd instead to ta
17d70 6b 65 20 61 20 6d 61 73 6b 20 73 70 65 63 69 66  ke a mask specif
17d80 79 69 6e 67 20 77 68 65 74 68 65 72 20 74 68 65  ying whether the
17d90 0a 63 68 61 6e 6e 65 6c 20 69 73 20 72 65 61 64  .channel is read
17da0 61 62 6c 65 20 61 6e 64 2f 6f 72 20 77 72 69 74  able and/or writ
17db0 61 62 6c 65 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 49  able. (JL).*** I
17dc0 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77  NCOMPATIBILITY w
17dd0 69 74 68 20 54 63 6c 20 37 2e 35 20 2a 2a 2a 0a  ith Tcl 7.5 ***.
17de0 0a 36 2f 33 2f 39 36 20 28 62 75 67 20 66 69 78  .6/3/96 (bug fix
17df0 29 20 4d 61 64 65 20 54 63 6c 5f 53 65 74 56 61  ) Made Tcl_SetVa
17e00 72 32 20 72 6f 62 75 73 74 20 61 67 61 69 6e 73  r2 robust agains
17e10 74 20 74 68 65 20 63 61 73 65 20 77 68 65 72 65  t the case where
17e20 20 74 68 65 20 76 61 6c 75 65 0a 6f 66 20 74 68   the value.of th
17e30 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 61 20  e variable is a 
17e40 4e 55 4c 4c 20 70 6f 69 6e 74 65 72 20 69 6e 73  NULL pointer ins
17e50 74 65 61 64 20 6f 66 20 22 22 2e 20 28 4a 4c 29  tead of "". (JL)
17e60 0a 0a 36 2f 31 37 2f 39 36 20 28 62 75 67 20 66  ..6/17/96 (bug f
17e70 69 78 29 20 46 69 78 65 64 20 22 72 65 61 64 69  ix) Fixed "readi
17e80 6e 67 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64  ng uninitialized
17e90 20 6d 65 6d 6f 72 79 22 20 65 72 72 6f 72 20 72   memory" error r
17ea0 65 70 6f 72 74 65 64 20 62 79 0a 50 75 72 69 66  eported by.Purif
17eb0 79 2c 20 69 6e 20 54 63 6c 5f 50 72 65 73 65 72  y, in Tcl_Preser
17ec0 76 65 2f 54 63 6c 5f 52 65 6c 65 61 73 65 2e 20  ve/Tcl_Release. 
17ed0 28 4a 4c 29 0a 0a 38 2f 39 2f 39 36 20 28 62 75  (JL)..8/9/96 (bu
17ee0 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67  g fix) Fixed bug
17ef0 20 69 6e 20 69 6e 69 74 2e 74 63 6c 20 74 68 61   in init.tcl tha
17f00 74 20 63 61 75 73 65 64 20 69 6e 63 6f 72 72 65  t caused incorre
17f10 63 74 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65  ct error message
17f20 0a 69 66 20 74 68 65 20 61 63 74 20 6f 66 20 61  .if the act of a
17f30 75 74 6f 6c 6f 61 64 69 6e 67 20 61 20 70 72 6f  utoloading a pro
17f40 63 65 64 75 72 65 20 63 61 75 73 65 64 20 74 68  cedure caused th
17f50 65 20 70 72 6f 63 65 64 75 72 65 20 74 6f 20 62  e procedure to b
17f60 65 20 69 6e 76 6f 6b 65 64 0a 61 67 61 69 6e 2e  e invoked.again.
17f70 20 28 4a 4f 29 0a 0a 38 2f 39 2f 39 36 20 28 62   (JO)..8/9/96 (b
17f80 75 67 20 66 69 78 29 20 43 6f 6e 66 69 67 75 72  ug fix) Configur
17f90 65 20 73 63 72 69 70 74 20 70 72 6f 64 75 63 65  e script produce
17fa0 64 20 62 61 64 20 6c 69 62 72 61 72 79 20 6e 61  d bad library na
17fb0 6d 65 73 20 61 6e 64 20 65 78 74 65 6e 73 69 6f  mes and extensio
17fc0 6e 73 0a 75 6e 64 65 72 20 53 75 6e 4f 53 20 61  ns.under SunOS a
17fd0 6e 64 20 61 20 66 65 77 20 6f 74 68 65 72 20 70  nd a few other p
17fe0 6c 61 74 66 6f 72 6d 73 20 69 66 20 74 68 65 20  latforms if the 
17ff0 2d 2d 64 69 73 61 62 6c 65 2d 6c 6f 61 64 20 73  --disable-load s
18000 77 69 74 63 68 20 77 61 73 20 75 73 65 64 2e 0a  witch was used..
18010 28 4a 4f 29 0a 0a 38 2f 39 2f 39 36 20 28 62 75  (JO)..8/9/96 (bu
18020 67 20 66 69 78 29 20 54 63 6c 5f 55 70 64 61 74  g fix) Tcl_Updat
18030 65 4c 69 6e 6b 65 64 56 61 72 20 67 65 6e 65 72  eLinkedVar gener
18040 61 74 65 64 20 61 6e 20 65 72 72 6f 72 20 69 66  ated an error if
18050 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 62 65   the variable.be
18060 69 6e 67 20 75 70 64 61 74 65 64 20 77 61 73 20  ing updated was 
18070 72 65 61 64 2d 6f 6e 6c 79 2e 20 28 4a 4f 29 0a  read-only. (JO).
18080 0a 38 2f 31 34 2f 39 36 20 28 62 75 67 20 66 69  .8/14/96 (bug fi
18090 78 29 20 54 68 65 20 6d 61 63 69 6e 74 6f 73 68  x) The macintosh
180a0 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 73 79   now supports sy
180b0 6e 63 68 72 6f 6e 6f 75 73 20 73 6f 63 6b 65 74  nchronous socket
180c0 0a 63 6f 6e 6e 65 63 74 69 6f 6e 73 2e 20 20 4f  .connections.  O
180d0 74 68 65 72 20 6d 69 6e 6f 72 20 62 75 67 73 20  ther minor bugs 
180e0 77 65 72 65 20 61 6c 73 6f 20 66 69 78 65 64 2e  were also fixed.
180f0 20 28 52 4a 29 0a 0a 38 2f 31 35 2f 39 36 20 28   (RJ)..8/15/96 (
18100 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 6d  configuration im
18110 70 72 6f 76 65 6d 65 6e 74 29 20 43 68 61 6e 67  provement) Chang
18120 65 64 20 74 68 65 20 66 69 6c 65 20 70 61 74 63  ed the file patc
18130 68 6c 65 76 65 6c 2e 68 0a 74 6f 20 62 65 20 74  hlevel.h.to be t
18140 63 6c 50 61 74 63 68 2e 68 2e 20 20 54 68 69 73  clPatch.h.  This
18150 20 61 76 6f 69 64 73 20 63 6f 6e 66 6c 69 63 74   avoids conflict
18160 20 77 69 74 68 20 74 68 65 20 54 6b 20 66 69 6c   with the Tk fil
18170 65 20 61 6e 64 20 69 73 20 6e 6f 77 0a 69 6e 20  e and is now.in 
18180 38 2e 33 20 66 6f 72 6d 61 74 20 6f 6e 20 74 68  8.3 format on th
18190 65 20 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f  e Windows platfo
181a0 72 6d 2e 20 28 52 4a 29 0a 0a 38 2f 32 30 2f 39  rm. (RJ)..8/20/9
181b0 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  6 (bug fix) Fixe
181c0 64 20 63 6f 72 65 20 64 75 6d 70 20 69 6e 20 69  d core dump in i
181d0 6e 74 65 72 70 20 61 6c 69 61 73 20 63 6f 6d 6d  nterp alias comm
181e0 61 6e 64 20 66 6f 72 20 69 6e 74 65 72 70 72 65  and for interpre
181f0 74 65 72 73 0a 63 72 65 61 74 65 64 20 77 69 74  ters.created wit
18200 68 20 54 63 6c 5f 43 72 65 61 74 65 49 6e 74 65  h Tcl_CreateInte
18210 72 70 20 28 61 73 20 6f 70 70 6f 73 65 64 20 74  rp (as opposed t
18220 6f 20 77 69 74 68 20 54 63 6c 5f 43 72 65 61 74  o with Tcl_Creat
18230 65 53 6c 61 76 65 29 2e 20 28 4a 4c 29 0a 0a 38  eSlave). (JL)..8
18240 2f 32 30 2f 39 36 20 28 62 75 67 20 66 69 78 29  /20/96 (bug fix)
18250 20 4e 6f 20 6c 6f 6e 67 65 72 20 6d 61 73 6b 69   No longer maski
18260 6e 67 20 45 43 4f 4e 4e 52 45 53 45 54 20 6f 6e  ng ECONNRESET on
18270 20 57 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74 73   Windows sockets
18280 20 73 6f 0a 74 68 61 74 20 74 68 65 20 68 69 67   so.that the hig
18290 68 65 72 20 6c 65 76 65 6c 20 6f 66 20 74 68 65  her level of the
182a0 20 49 4f 20 6d 65 63 68 61 6e 69 73 6d 20 73 65   IO mechanism se
182b0 65 73 20 74 68 65 20 65 72 72 6f 72 20 69 6e 73  es the error ins
182c0 74 65 61 64 20 6f 66 0a 65 6e 74 65 72 69 6e 67  tead of.entering
182d0 20 61 6e 20 69 6e 66 69 6e 69 74 65 20 6c 6f 6f   an infinite loo
182e0 70 2e 20 28 4a 4c 29 0a 0a 38 2f 32 30 2f 39 36  p. (JL)..8/20/96
182f0 20 28 62 75 67 20 66 69 78 29 20 44 65 73 74 72   (bug fix) Destr
18300 6f 79 69 6e 67 20 74 68 65 20 6c 61 73 74 20 69  oying the last i
18310 6e 74 65 72 70 72 65 74 65 72 20 6e 6f 20 6c 6f  nterpreter no lo
18320 6e 67 65 72 20 63 6c 6f 73 65 73 20 74 68 65 0a  nger closes the.
18330 73 74 61 6e 64 61 72 64 20 63 68 61 6e 6e 65 6c  standard channel
18340 73 2e 20 28 4a 4c 29 0a 0a 38 2f 32 30 2f 39 36  s. (JL)..8/20/96
18350 20 28 62 75 67 20 66 69 78 29 20 43 6c 6f 73 69   (bug fix) Closi
18360 6e 67 20 6f 6e 65 20 6f 66 20 74 68 65 20 73 74  ng one of the st
18370 64 69 6e 2c 20 73 74 64 6f 75 74 20 6f 72 20 73  din, stdout or s
18380 74 64 65 72 72 20 63 68 61 6e 6e 65 6c 73 20 61  tderr channels a
18390 6e 64 0a 74 68 65 6e 20 6f 70 65 6e 69 6e 67 20  nd.then opening 
183a0 61 20 6e 65 77 20 63 68 61 6e 6e 65 6c 20 6e 6f  a new channel no
183b0 77 20 63 6f 72 72 65 63 74 6c 79 20 61 73 73 69  w correctly assi
183c0 67 6e 73 20 74 68 65 20 6e 65 77 20 63 68 61 6e  gns the new chan
183d0 6e 65 6c 20 61 73 20 74 68 65 0a 73 74 61 6e 64  nel as the.stand
183e0 61 72 64 20 63 68 61 6e 6e 65 6c 20 74 68 61 74  ard channel that
183f0 20 77 61 73 20 63 6c 6f 73 65 64 2e 20 28 4a 4c   was closed. (JL
18400 29 0a 0a 38 2f 32 30 2f 39 36 20 28 62 75 67 20  )..8/20/96 (bug 
18410 66 69 78 29 20 41 64 64 65 64 20 63 6f 64 65 20  fix) Added code 
18420 74 6f 20 75 6e 69 78 2f 74 63 6c 55 6e 69 78 43  to unix/tclUnixC
18430 68 61 6e 2e 63 20 66 6f 72 20 75 73 69 6e 67 20  han.c for using 
18440 69 6f 63 74 6c 20 77 69 74 68 0a 46 49 4f 4e 42  ioctl with.FIONB
18450 49 4f 20 69 6e 73 74 65 61 64 20 6f 66 20 66 63  IO instead of fc
18460 6e 74 6c 20 77 69 74 68 20 4f 5f 4e 4f 4e 42 4c  ntl with O_NONBL
18470 4f 43 4b 2c 20 66 6f 72 20 74 68 6f 73 65 20 76  OCK, for those v
18480 65 72 73 69 6f 6e 73 20 6f 66 20 55 6e 69 78 20  ersions of Unix 
18490 77 68 65 72 65 0a 65 69 74 68 65 72 20 4f 5f 4e  where.either O_N
184a0 4f 4e 42 4c 4f 43 4b 20 69 73 20 6e 6f 74 20 73  ONBLOCK is not s
184b0 75 70 70 6f 72 74 65 64 20 6f 72 20 69 6d 70 6c  upported or impl
184c0 65 6d 65 6e 74 65 64 20 69 6e 63 6f 72 72 65 63  emented incorrec
184d0 74 6c 79 2e 20 28 4a 4c 29 0a 0a 38 2f 32 31 2f  tly. (JL)..8/21/
184e0 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78  96 (bug fix) Fix
184f0 65 64 20 22 66 69 6c 65 20 65 78 74 65 6e 73 69  ed "file extensi
18500 6f 6e 22 20 73 6f 20 69 74 20 63 6f 72 72 65 63  on" so it correc
18510 74 6c 79 20 72 65 74 75 72 6e 73 20 74 68 65 0a  tly returns the.
18520 65 78 74 65 6e 73 69 6f 6e 20 6f 6e 20 66 69 6c  extension on fil
18530 65 73 20 6c 69 6b 65 20 22 66 6f 6f 2e 2e 63 22  es like "foo..c"
18540 20 61 73 20 22 2e 2e 63 22 20 69 6e 73 74 65 61   as "..c" instea
18550 64 20 6f 66 20 22 2e 63 22 2e 20 28 53 53 29 0a  d of ".c". (SS).
18560 0a 38 2f 32 32 2f 39 36 20 28 62 75 67 20 66 69  .8/22/96 (bug fi
18570 78 29 20 49 66 20 65 6e 76 69 72 6f 6e 5b 5d 20  x) If environ[] 
18580 63 6f 6e 74 61 69 6e 73 20 73 74 61 74 69 63 20  contains static 
18590 73 74 72 69 6e 67 73 2c 20 54 63 6c 20 77 6f 75  strings, Tcl wou
185a0 6c 64 20 63 6f 72 65 0a 64 75 6d 70 20 69 6e 20  ld core.dump in 
185b0 54 63 6c 53 65 74 75 70 45 6e 76 20 62 65 63 61  TclSetupEnv beca
185c0 75 73 65 20 69 74 20 77 61 73 20 74 72 79 69 6e  use it was tryin
185d0 67 20 74 6f 20 77 72 69 74 65 20 4e 55 4c 4c 73  g to write NULLs
185e0 20 69 6e 74 6f 20 74 68 65 20 61 63 74 75 61 6c   into the actual
185f0 0a 64 61 74 61 20 69 6e 20 65 6e 76 69 72 6f 6e  .data in environ
18600 5b 5d 2e 20 4e 6f 77 20 77 65 20 69 6e 73 74 65  []. Now we inste
18610 61 64 20 63 6f 70 79 20 61 73 20 61 70 70 72 6f  ad copy as appro
18620 70 72 69 61 74 65 2e 20 28 4a 4c 29 0a 0a 38 2f  priate. (JL)..8/
18630 32 32 2f 39 36 20 28 61 64 64 65 64 20 69 6d 70  22/96 (added imp
18640 6c 29 20 41 64 64 65 64 20 6d 69 73 73 69 6e 67  l) Added missing
18650 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20   implementation 
18660 6f 66 20 54 63 6c 5f 4d 61 6b 65 54 63 70 43 6c  of Tcl_MakeTcpCl
18670 69 65 6e 74 43 68 61 6e 6e 65 6c 0a 66 6f 72 20  ientChannel.for 
18680 57 69 6e 64 6f 77 73 20 70 6c 61 74 66 6f 72 6d  Windows platform
18690 2e 20 43 6f 64 65 20 63 6f 6e 74 72 69 62 75 74  . Code contribut
186a0 65 64 20 62 79 20 4d 61 72 6b 20 44 69 65 6b 68  ed by Mark Diekh
186b0 61 6e 73 2e 20 28 4a 4c 29 0a 0a 38 2f 32 32 2f  ans. (JL)..8/22/
186c0 39 36 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  96 (new feature)
186d0 20 41 64 64 65 64 20 61 20 6e 65 77 20 6d 65 6d   Added a new mem
186e0 6f 72 79 20 61 6c 6c 6f 63 61 74 6f 72 20 66 6f  ory allocator fo
186f0 72 20 74 68 65 20 4d 61 63 69 6e 74 6f 73 68 0a  r the Macintosh.
18700 76 65 72 73 69 6f 6e 20 6f 66 20 54 63 6c 2e 20  version of Tcl. 
18710 20 49 74 27 73 20 71 75 69 74 65 20 61 20 62 69   It's quite a bi
18720 74 20 66 61 73 74 65 72 20 74 68 61 6e 20 4d 65  t faster than Me
18730 74 72 6f 57 65 72 6b 27 73 20 76 65 72 73 69 6f  troWerk's versio
18740 6e 2e 20 28 52 4a 29 0a 0a 38 2f 32 36 2f 39 36  n. (RJ)..8/26/96
18750 20 28 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20   (documentation 
18760 75 70 64 61 74 65 29 20 52 65 6d 6f 76 65 64 20  update) Removed 
18770 6f 6c 64 20 63 68 61 6e 67 65 20 62 61 72 73 20  old change bars 
18780 28 66 6f 72 20 61 6c 6c 20 63 68 61 6e 67 65 73  (for all changes
18790 0a 69 6e 20 54 63 6c 20 37 2e 35 20 61 6e 64 20  .in Tcl 7.5 and 
187a0 65 61 72 6c 69 65 72 20 72 65 6c 65 61 73 65 73  earlier releases
187b0 29 20 66 72 6f 6d 20 6d 61 6e 75 61 6c 20 65 6e  ) from manual en
187c0 74 72 69 65 73 2e 20 28 4a 4f 29 0a 0a 38 2f 32  tries. (JO)..8/2
187d0 37 2f 39 36 20 28 65 6e 68 61 6e 63 65 6d 65 6e  7/96 (enhancemen
187e0 74 29 20 54 68 65 20 65 78 65 63 20 61 6e 64 20  t) The exec and 
187f0 6f 70 65 6e 20 63 6f 6d 6d 61 6e 64 73 20 62 65  open commands be
18800 68 61 76 65 20 62 65 74 74 65 72 20 61 6e 64 20  have better and 
18810 77 6f 72 6b 20 69 6e 20 0a 6d 6f 72 65 20 73 69  work in .more si
18820 74 75 61 74 69 6f 6e 73 20 75 6e 64 65 72 20 57  tuations under W
18830 69 6e 64 6f 77 73 20 4e 54 20 61 6e 64 20 57 69  indows NT and Wi
18840 6e 64 6f 77 73 20 39 35 2e 20 20 44 6f 63 75 6d  ndows 95.  Docum
18850 65 6e 74 61 74 69 6f 6e 20 64 65 73 63 72 69 62  entation describ
18860 65 73 20 0a 77 68 61 74 20 69 73 20 73 74 69 6c  es .what is stil
18870 6c 20 6c 61 63 6b 69 6e 67 2e 20 28 43 53 29 0a  l lacking. (CS).
18880 0a 38 2f 32 37 2f 39 36 20 28 65 6e 68 61 6e 63  .8/27/96 (enhanc
18890 65 6d 65 6e 74 29 20 54 68 65 20 57 69 6e 64 6f  ement) The Windo
188a0 77 73 20 6d 61 6b 65 66 69 6c 65 73 20 77 69 6c  ws makefiles wil
188b0 6c 20 6e 6f 77 20 63 6f 6d 70 69 6c 65 20 65 76  l now compile ev
188c0 65 6e 20 69 66 20 74 68 65 0a 63 6f 6d 70 69 6c  en if the.compil
188d0 65 72 20 69 73 20 6e 6f 74 20 69 6e 20 74 68 65  er is not in the
188e0 20 70 61 74 68 20 61 6e 64 2f 6f 72 20 74 68 65   path and/or the
188f0 20 63 6f 6d 70 69 6c 65 72 27 73 20 65 6e 76 69   compiler's envi
18900 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65  ronment variable
18910 73 0a 68 61 76 65 20 6e 6f 74 20 62 65 65 6e 20  s.have not been 
18920 73 65 74 20 75 70 2e 20 28 43 53 29 20 0a 0a 38  set up. (CS) ..8
18930 2f 32 37 2f 39 36 20 28 63 6f 6e 66 69 67 75 72  /27/96 (configur
18940 61 74 69 6f 6e 20 69 6d 70 72 6f 76 65 6d 65 6e  ation improvemen
18950 74 29 20 54 68 65 20 57 69 6e 64 6f 77 73 20 72  t) The Windows r
18960 65 73 6f 75 72 63 65 20 66 69 6c 65 73 20 61 72  esource files ar
18970 65 20 0a 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79  e .automatically
18980 20 75 70 64 61 74 65 64 20 77 68 65 6e 20 74 68   updated when th
18990 65 20 76 65 72 73 69 6f 6e 2f 70 61 74 63 68 20  e version/patch 
189a0 6c 65 76 65 6c 20 63 68 61 6e 67 65 73 2e 20 20  level changes.  
189b0 54 68 65 20 68 65 61 64 65 72 20 66 69 6c 65 0a  The header file.
189c0 6e 6f 77 20 68 61 73 20 61 20 63 6f 6d 6d 65 6e  now has a commen
189d0 74 20 74 68 61 74 20 72 65 6d 69 6e 64 73 20 74  t that reminds t
189e0 68 65 20 75 73 65 72 20 77 68 69 63 68 20 6f 74  he user which ot
189f0 68 65 72 20 66 69 6c 65 73 20 6d 75 73 74 20 62  her files must b
18a00 65 20 6d 61 6e 75 61 6c 6c 79 0a 75 70 64 61 74  e manually.updat
18a10 65 64 20 77 68 65 6e 20 74 68 65 20 76 65 72 73  ed when the vers
18a20 69 6f 6e 2f 70 61 74 63 68 20 6c 65 76 65 6c 20  ion/patch level 
18a30 63 68 61 6e 67 65 73 2e 20 28 43 53 29 0a 0a 38  changes. (CS)..8
18a40 2f 32 38 2f 39 36 20 28 6e 65 77 20 66 65 61 74  /28/96 (new feat
18a50 75 72 65 29 20 41 64 64 65 64 20 66 69 6c 65 20  ure) Added file 
18a60 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 66 65 61  manipulation fea
18a70 74 75 72 65 73 20 28 63 6f 70 79 2c 20 72 65 6e  tures (copy, ren
18a80 61 6d 65 2c 20 64 65 6c 65 74 65 2c 0a 6d 6b 64  ame, delete,.mkd
18a90 69 72 29 20 74 68 61 74 20 61 72 65 20 73 75 70  ir) that are sup
18aa0 70 6f 72 74 65 64 20 6f 6e 20 61 6c 6c 20 70 6c  ported on all pl
18ab0 61 74 66 6f 72 6d 73 2e 20 54 68 65 79 20 61 72  atforms. They ar
18ac0 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73  e implemented as
18ad0 20 0a 73 75 62 63 6f 6d 6d 61 6e 64 73 20 74 6f   .subcommands to
18ae0 20 74 68 65 20 22 66 69 6c 65 22 20 63 6f 6d 6d   the "file" comm
18af0 61 6e 64 2e 20 53 65 65 20 74 68 65 20 64 6f 63  and. See the doc
18b00 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74  umentation for t
18b10 68 65 20 22 66 69 6c 65 22 0a 63 6f 6d 6d 61 6e  he "file".comman
18b20 64 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72  d for more infor
18b30 6d 61 74 69 6f 6e 2e 20 28 4a 48 29 0a 0a 2d 2d  mation. (JH)..--
18b40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20  --------------- 
18b50 52 65 6c 65 61 73 65 64 20 37 2e 36 62 31 2c 20  Released 7.6b1, 
18b60 38 2f 33 30 2f 39 36 20 2d 2d 2d 2d 2d 2d 2d 2d  8/30/96 --------
18b70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
18b80 0a 39 2f 33 2f 39 36 20 28 62 75 67 20 66 69 78  .9/3/96 (bug fix
18b90 29 20 53 69 6d 70 6c 69 66 69 65 64 20 63 6f 64  ) Simplified cod
18ba0 65 20 73 6f 20 74 68 61 74 20 73 74 61 6e 64 61  e so that standa
18bb0 72 64 20 63 68 61 6e 6e 65 6c 73 20 61 72 65 20  rd channels are 
18bc0 63 72 65 61 74 65 64 0a 6c 61 7a 69 6c 79 2c 20  created.lazily, 
18bd0 74 68 65 79 20 61 72 65 20 61 64 64 65 64 20 74  they are added t
18be0 6f 20 61 6e 20 69 6e 74 65 72 70 72 65 74 65 72  o an interpreter
18bf0 20 6c 61 7a 69 6c 79 2c 20 61 6e 64 20 74 68 65   lazily, and the
18c00 79 20 61 72 65 20 6e 65 76 65 72 20 61 64 64 65  y are never adde
18c10 64 0a 74 6f 20 61 20 73 61 66 65 20 69 6e 74 65  d.to a safe inte
18c20 72 70 72 65 74 65 72 2e 20 28 4a 4c 29 0a 0a 39  rpreter. (JL)..9
18c30 2f 33 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  /3/96 (bug fix) 
18c40 43 6c 6f 73 69 6e 67 20 61 20 63 68 61 6e 6e 65  Closing a channe
18c50 6c 20 61 66 74 65 72 20 63 6c 6f 73 69 6e 67 20  l after closing 
18c60 61 20 73 74 61 6e 64 61 72 64 20 63 68 61 6e 6e  a standard chann
18c70 65 6c 2c 20 65 2e 67 2e 0a 73 74 64 6f 75 74 2c  el, e.g..stdout,
18c80 20 77 6f 75 6c 64 20 63 61 75 73 65 20 74 68 65   would cause the
18c90 20 69 6d 70 6c 69 63 69 74 20 72 65 63 72 65 61   implicit recrea
18ca0 74 69 6f 6e 20 6f 66 20 74 68 61 74 20 73 74 61  tion of that sta
18cb0 6e 64 61 72 64 20 63 68 61 6e 6e 65 6c 2e 20 28  ndard channel. (
18cc0 4a 4c 29 0a 0a 39 2f 33 2f 39 36 20 28 6e 65 77  JL)..9/3/96 (new
18cd0 20 66 65 61 74 75 72 65 29 20 4e 6f 77 20 63 61   feature) Now ca
18ce0 6c 6c 69 6e 67 20 54 63 6c 5f 52 65 67 69 73 74  lling Tcl_Regist
18cf0 65 72 43 68 61 6e 6e 65 6c 20 77 69 74 68 20 61  erChannel with a
18d00 20 4e 55 4c 4c 0a 69 6e 74 65 72 70 72 65 74 65   NULL.interprete
18d10 72 20 69 6e 63 72 65 6d 65 6e 74 73 20 74 68 65  r increments the
18d20 20 72 65 66 63 6f 75 6e 74 20 73 6f 20 74 68 61   refcount so tha
18d30 74 20 63 6f 64 65 20 6f 75 74 73 69 64 65 20 61  t code outside a
18d40 6e 79 20 69 6e 74 65 72 70 72 65 74 65 72 0a 63  ny interpreter.c
18d50 61 6e 20 75 73 65 20 63 68 61 6e 6e 65 6c 73 20  an use channels 
18d60 74 68 61 74 20 61 72 65 20 61 6c 73 6f 20 72 65  that are also re
18d70 67 69 73 74 65 72 65 64 20 69 6e 20 69 6e 74 65  gistered in inte
18d80 72 70 72 65 74 65 72 73 2c 20 77 69 74 68 6f 75  rpreters, withou
18d90 74 20 77 6f 72 72 79 69 6e 67 0a 74 68 61 74 20  t worrying.that 
18da0 74 68 65 20 63 68 61 6e 6e 65 6c 20 6d 61 79 20  the channel may 
18db0 74 75 72 6e 20 69 6e 74 6f 20 61 20 64 61 6e 67  turn into a dang
18dc0 6c 69 6e 67 20 70 6f 69 6e 74 65 72 20 61 74 20  ling pointer at 
18dd0 61 6e 79 20 74 69 6d 65 2e 20 43 61 6c 6c 69 6e  any time. Callin
18de0 67 0a 54 63 6c 5f 55 6e 72 65 67 69 73 74 65 72  g.Tcl_Unregister
18df0 43 68 61 6e 6e 65 6c 20 77 69 74 68 20 61 20 4e  Channel with a N
18e00 55 4c 4c 20 69 6e 74 65 72 70 72 65 74 65 72 20  ULL interpreter 
18e10 6f 6e 6c 79 20 64 65 63 72 65 6d 65 6e 74 73 20  only decrements 
18e20 74 68 65 20 72 65 63 6f 75 6e 74 0a 73 6f 20 74  the recount.so t
18e30 68 61 74 20 63 6f 64 65 20 6f 75 74 73 69 64 65  hat code outside
18e40 20 61 6e 79 20 69 6e 74 65 72 70 72 65 74 65 72   any interpreter
18e50 20 63 61 6e 20 73 61 66 65 6c 79 20 64 65 63 6c   can safely decl
18e60 61 72 65 20 69 74 20 69 73 20 6e 6f 20 6c 6f 6e  are it is no lon
18e70 67 65 72 0a 69 6e 74 65 72 65 73 74 65 64 20 69  ger.interested i
18e80 6e 20 61 20 63 68 61 6e 6e 65 6c 2e 20 28 4a 4c  n a channel. (JL
18e90 29 0a 0a 39 2f 34 2f 39 36 20 28 6e 65 77 20 66  )..9/4/96 (new f
18ea0 65 61 74 75 72 65 73 29 20 54 77 6f 20 63 68 61  eatures) Two cha
18eb0 6e 67 65 73 20 74 6f 20 64 79 6e 61 6d 69 63 20  nges to dynamic 
18ec0 6c 6f 61 64 69 6e 67 3a 0a 20 20 20 20 2d 20 49  loading:.    - I
18ed0 66 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20  f the file name 
18ee0 69 73 20 65 6d 70 74 79 20 69 6e 20 74 68 65 20  is empty in the 
18ef0 22 6c 6f 61 64 22 20 63 6f 6d 6d 61 6e 64 20 61  "load" command a
18f00 6e 64 20 74 68 65 72 65 20 69 73 20 6e 6f 0a 20  nd there is no. 
18f10 20 20 20 20 20 73 74 61 74 69 63 61 6c 6c 79 20       statically 
18f20 6c 6f 61 64 65 64 20 76 65 72 73 69 6f 6e 20 6f  loaded version o
18f30 66 20 74 68 65 20 70 61 63 6b 61 67 65 2c 20 61  f the package, a
18f40 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 6f 61   dynamically loa
18f50 64 65 64 0a 20 20 20 20 20 20 76 65 72 73 69 6f  ded.      versio
18f60 6e 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 69  n will be used i
18f70 66 20 74 68 65 72 65 20 69 73 20 6f 6e 65 2e 0a  f there is one..
18f80 20 20 20 20 2d 20 54 63 6c 5f 53 74 61 74 69 63      - Tcl_Static
18f90 50 61 63 6b 61 67 65 20 69 67 6e 6f 72 65 73 20  Package ignores 
18fa0 72 65 64 75 6e 64 61 6e 74 20 63 61 6c 6c 73 20  redundant calls 
18fb0 66 6f 72 20 74 68 65 20 73 61 6d 65 20 70 61 63  for the same pac
18fc0 6b 61 67 65 2e 20 28 4a 4f 29 0a 0a 39 2f 36 2f  kage. (JO)..9/6/
18fd0 39 36 20 28 62 75 67 20 66 69 78 29 20 50 6c 61  96 (bug fix) Pla
18fe0 74 66 6f 72 6d 20 73 70 65 63 69 66 69 63 20 70  tform specific p
18ff0 72 6f 63 65 64 75 72 65 73 20 66 6f 72 20 6d 61  rocedures for ma
19000 6e 69 70 75 6c 61 74 69 6e 67 20 66 69 6c 65 73  nipulating files
19010 20 61 72 65 0a 6e 6f 20 6c 6f 6e 67 65 72 20 6d   are.no longer m
19020 61 63 72 6f 73 20 61 6e 64 20 68 61 76 65 20 62  acros and have b
19030 65 65 6e 20 70 72 65 66 69 78 65 64 20 77 69 74  een prefixed wit
19040 68 20 22 54 63 6c 70 22 2c 20 73 75 63 68 20 61  h "Tclp", such a
19050 73 20 54 63 6c 70 52 65 6e 61 6d 65 46 69 6c 65  s TclpRenameFile
19060 2e 0a 55 6e 69 78 20 66 69 6c 65 20 63 6f 64 65  ..Unix file code
19070 20 6e 6f 77 20 68 61 6e 64 6c 65 73 20 73 79 6d   now handles sym
19080 62 6f 6c 69 63 20 6c 69 6e 6b 73 20 61 6e 64 20  bolic links and 
19090 6f 74 68 65 72 20 73 70 65 63 69 61 6c 20 66 69  other special fi
190a0 6c 65 73 20 63 6f 72 72 65 63 74 6c 79 2e 0a 54  les correctly..T
190b0 68 65 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20  he semantics of 
190c0 66 69 6c 65 20 63 6f 70 79 20 61 6e 64 20 66 69  file copy and fi
190d0 6c 65 20 72 65 6e 61 6d 65 20 68 61 73 20 62 65  le rename has be
190e0 65 6e 20 63 68 61 6e 67 65 64 20 73 6f 20 74 68  en changed so th
190f0 61 74 20 69 66 0a 61 20 74 61 72 67 65 74 20 64  at if.a target d
19100 69 72 65 63 74 6f 72 79 20 65 78 69 73 74 73 2c  irectory exists,
19110 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65   the source file
19120 73 20 77 69 6c 6c 20 4e 4f 54 20 62 65 20 6d 65  s will NOT be me
19130 72 67 65 64 20 77 69 74 68 20 74 68 65 0a 65 78  rged with the.ex
19140 69 73 74 69 6e 67 20 66 69 6c 65 73 2e 20 28 4a  isting files. (J
19150 48 29 0a 0a 39 2f 36 2f 39 36 20 28 62 75 67 20  H)..9/6/96 (bug 
19160 66 69 78 29 20 49 66 20 73 74 61 6e 64 61 72 64  fix) If standard
19170 20 63 68 61 6e 6e 65 6c 20 69 73 20 4e 55 4c 4c   channel is NULL
19180 2c 20 62 65 63 61 75 73 65 20 54 63 6c 20 63 61  , because Tcl ca
19190 6e 6e 6f 74 20 63 6f 6e 6e 65 63 74 0a 74 6f 20  nnot connect.to 
191a0 74 68 65 20 73 74 61 6e 64 61 72 64 20 63 68 61  the standard cha
191b0 6e 6e 65 6c 2c 20 64 6f 20 6e 6f 74 20 69 6e 63  nnel, do not inc
191c0 72 65 6d 65 6e 74 20 74 68 65 20 72 65 66 63 6f  rement the refco
191d0 75 6e 74 2e 20 54 68 65 20 63 68 61 6e 6e 65 6c  unt. The channel
191e0 20 63 61 6e 0a 62 65 20 4e 55 4c 4c 20 69 66 20   can.be NULL if 
191f0 74 68 65 72 65 20 69 73 20 66 6f 72 20 65 78 61  there is for exa
19200 6d 70 6c 65 20 6e 6f 20 73 74 61 6e 64 61 72 64  mple no standard
19210 20 69 6e 70 75 74 2e 20 28 4a 4c 29 0a 0a 39 2f   input. (JL)..9/
19220 36 2f 39 36 20 28 70 6f 72 74 61 62 69 6c 69 74  6/96 (portabilit
19230 79 20 69 6d 70 72 6f 76 65 6d 65 6e 74 29 20 43  y improvement) C
19240 68 61 6e 67 65 64 20 70 61 72 73 69 6e 67 20 6f  hanged parsing o
19250 66 20 62 61 63 6b 73 6c 61 73 68 20 73 65 71 75  f backslash sequ
19260 65 6e 63 65 73 0a 6c 69 6b 65 20 5c 6e 20 74 6f  ences.like \n to
19270 20 74 72 61 6e 73 6c 61 74 65 20 64 69 72 65 63   translate direc
19280 74 6c 79 20 74 6f 20 61 62 73 6f 6c 75 74 65 20  tly to absolute 
19290 76 61 6c 75 65 73 20 6c 69 6b 65 20 30 78 61 20  values like 0xa 
192a0 69 6e 73 74 65 61 64 20 6f 66 0a 6c 65 74 74 69  instead of.letti
192b0 6e 67 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20  ng the compiler 
192c0 64 6f 20 74 68 65 20 74 72 61 6e 73 6c 61 74 69  do the translati
192d0 6f 6e 2e 20 20 54 68 69 73 20 67 75 61 72 61 6e  on.  This guaran
192e0 74 65 65 73 20 74 68 61 74 20 74 68 65 0a 74 72  tees that the.tr
192f0 61 6e 73 6c 61 74 69 6f 6e 20 69 73 20 64 6f 6e  anslation is don
19300 65 20 74 68 65 20 73 61 6d 65 20 65 76 65 72 79  e the same every
19310 77 68 65 72 65 2e 20 28 4a 4f 29 0a 0a 39 2f 39  where. (JO)..9/9
19320 2f 39 36 20 28 62 75 67 20 66 69 78 29 20 49 66  /96 (bug fix) If
19330 20 63 68 61 6e 6e 65 6c 20 69 73 20 6f 70 65 6e   channel is open
19340 65 64 20 61 6e 64 20 6e 6f 74 20 61 73 73 6f 63  ed and not assoc
19350 69 61 74 65 64 20 77 69 74 68 20 61 6e 79 0a 69  iated with any.i
19360 6e 74 65 72 70 72 65 74 65 72 2c 20 62 75 74 20  nterpreter, but 
19370 54 63 6c 20 64 65 63 69 64 65 73 20 74 6f 20 75  Tcl decides to u
19380 73 65 20 69 74 20 61 73 20 6f 6e 65 20 6f 66 20  se it as one of 
19390 74 68 65 20 73 74 61 6e 64 61 72 64 20 63 68 61  the standard cha
193a0 6e 6e 65 6c 73 2c 20 69 74 0a 62 65 63 61 6d 65  nnels, it.became
193b0 20 69 6d 70 6f 73 73 69 62 6c 65 20 74 6f 20 63   impossible to c
193c0 6c 6f 73 65 20 74 68 65 20 63 68 61 6e 6e 65 6c  lose the channel
193d0 20 77 69 74 68 20 54 63 6c 5f 43 6c 6f 73 65 20   with Tcl_Close 
193e0 2d 2d 20 69 6e 73 74 65 61 64 20 79 6f 75 20 68  -- instead you h
193f0 61 64 0a 74 6f 20 63 61 6c 6c 20 54 63 6c 5f 55  ad.to call Tcl_U
19400 6e 72 65 67 69 73 74 65 72 43 68 61 6e 6e 65 6c  nregisterChannel
19410 2e 20 46 69 78 65 64 20 6e 6f 77 20 73 6f 20 74  . Fixed now so t
19420 68 61 74 20 69 74 27 73 20 73 61 66 65 20 74 6f  hat it's safe to
19430 20 63 61 6c 6c 0a 54 63 6c 5f 43 6c 6f 73 65 20   call.Tcl_Close 
19440 65 76 65 6e 20 77 68 65 6e 20 54 63 6c 20 69 73  even when Tcl is
19450 20 75 73 69 6e 67 20 74 68 65 20 63 68 61 6e 6e   using the chann
19460 65 6c 20 61 73 20 6f 6e 65 20 6f 66 20 74 68 65  el as one of the
19470 20 73 74 61 6e 64 61 72 64 20 6f 6e 65 73 2e 20   standard ones. 
19480 28 4a 4c 29 0a 0a 39 2f 31 31 2f 39 36 20 28 66  (JL)..9/11/96 (f
19490 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 54  eature change) T
194a0 68 65 20 54 63 6c 20 6c 69 62 72 61 72 79 20 69  he Tcl library i
194b0 73 20 6e 6f 77 20 70 6c 61 63 65 64 20 69 6e 20  s now placed in 
194c0 74 68 65 20 54 63 6c 0a 73 68 61 72 65 64 20 6c  the Tcl.shared l
194d0 69 62 72 61 72 69 65 73 20 72 65 73 6f 75 72 63  ibraries resourc
194e0 65 2e 20 20 59 6f 75 20 6e 6f 20 6c 6f 6e 67 65  e.  You no longe
194f0 72 20 6e 65 65 64 20 74 6f 20 70 6c 61 63 65 20  r need to place 
19500 74 68 65 20 54 63 6c 20 66 69 6c 65 73 0a 69 6e  the Tcl files.in
19510 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f   your applicatio
19520 6e 73 20 65 78 70 6c 69 63 69 74 6c 79 2e 20 20  ns explicitly.  
19530 28 52 4a 29 0a 0a 39 2f 31 31 2f 39 36 20 28 66  (RJ)..9/11/96 (f
19540 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 45  eature change) E
19550 78 74 65 6e 73 69 6f 6e 73 20 6e 6f 20 6c 6f 6e  xtensions no lon
19560 67 65 72 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c  ger automaticall
19570 79 20 68 61 76 65 20 74 68 65 0a 72 65 73 6f 75  y have the.resou
19580 72 63 65 20 66 6f 72 6b 20 6f 66 20 74 68 65 20  rce fork of the 
19590 65 78 74 65 6e 73 69 6f 6e 20 6f 70 65 6e 65 64  extension opened
195a0 20 66 6f 72 20 69 74 2e 20 20 49 6e 73 74 65 61   for it.  Instea
195b0 64 20 79 6f 75 20 6e 65 65 64 20 74 6f 0a 75 73  d you need to.us
195c0 65 20 74 68 65 20 74 63 6c 4d 61 63 4c 69 62 72  e the tclMacLibr
195d0 61 72 79 2e 63 20 66 69 6c 65 20 69 6e 20 79 6f  ary.c file in yo
195e0 75 72 20 65 78 74 65 6e 73 69 6f 6e 2e 20 20 28  ur extension.  (
195f0 52 4a 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  RJ).*** POTENTIA
19600 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
19610 59 20 2a 2a 2a 0a 0a 39 2f 31 32 2f 39 36 20 28  Y ***..9/12/96 (
19620 62 75 67 20 66 69 78 29 20 54 68 65 20 65 78 74  bug fix) The ext
19630 65 6e 73 69 6f 6e 20 6c 6f 61 64 69 6e 67 20 6d  ension loading m
19640 65 63 68 61 6e 69 73 6d 20 6f 6e 20 74 68 65 20  echanism on the 
19650 4d 61 63 69 6e 74 6f 73 68 20 6e 6f 77 0a 6c 6f  Macintosh now.lo
19660 6f 6b 73 20 61 74 20 74 68 65 20 27 63 66 72 67  oks at the 'cfrg
19670 27 20 72 65 73 6f 75 72 63 65 20 74 6f 20 64 65  ' resource to de
19680 74 65 72 6d 69 6e 65 20 77 68 65 72 65 20 74 6f  termine where to
19690 20 6c 6f 61 64 20 74 68 65 20 63 6f 64 65 0a 66   load the code.f
196a0 72 61 67 6d 65 6e 74 20 66 72 6f 6d 2e 20 20 54  ragment from.  T
196b0 68 69 73 20 6d 65 61 6e 73 20 46 41 54 20 66 72  his means FAT fr
196c0 61 67 6d 65 6e 74 73 20 73 68 6f 75 6c 64 20 6e  agments should n
196d0 6f 77 20 77 6f 72 6b 2e 20 28 52 4a 29 0a 0a 39  ow work. (RJ)..9
196e0 2f 31 38 2f 39 36 20 28 65 6e 68 61 6e 63 65 6d  /18/96 (enhancem
196f0 65 6e 74 29 20 54 68 65 20 65 78 65 63 20 61 6e  ent) The exec an
19700 64 20 6f 70 65 6e 20 63 6f 6d 6d 61 6e 64 73 20  d open commands 
19710 62 65 68 61 76 65 20 62 65 74 74 65 72 20 61 6e  behave better an
19720 64 20 77 6f 72 6b 20 69 6e 0a 6d 6f 72 65 20 73  d work in.more s
19730 69 74 75 61 74 69 6f 6e 73 20 75 6e 64 65 72 20  ituations under 
19740 57 69 6e 64 6f 77 73 20 33 2e 58 2e 20 20 44 6f  Windows 3.X.  Do
19750 63 75 6d 65 6e 74 61 74 69 6f 6e 20 64 65 73 63  cumentation desc
19760 72 69 62 65 73 20 77 68 61 74 20 69 73 20 73 74  ribes what is st
19770 69 6c 6c 0a 6c 61 63 6b 69 6e 67 2e 20 20 28 43  ill.lacking.  (C
19780 53 29 0a 0a 39 2f 31 39 2f 39 36 20 28 62 75 67  S)..9/19/96 (bug
19790 20 66 69 78 29 20 46 69 78 65 64 20 61 20 70 61   fix) Fixed a pa
197a0 6e 69 63 20 77 68 69 63 68 20 77 6f 75 6c 64 20  nic which would 
197b0 6f 63 63 75 72 20 69 66 20 79 6f 75 20 64 65 6c  occur if you del
197c0 65 74 65 20 61 0a 6e 6f 6e 2d 65 78 69 73 74 65  ete a.non-existe
197d0 6e 74 20 61 6c 69 61 73 20 62 65 66 6f 72 65 20  nt alias before 
197e0 61 6e 79 20 61 6c 69 61 73 65 73 20 61 72 65 20  any aliases are 
197f0 63 72 65 61 74 65 64 2e 20 4e 6f 77 20 69 6e 73  created. Now ins
19800 74 65 61 64 20 63 6f 72 72 65 63 74 6c 79 0a 72  tead correctly.r
19810 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 20  eturns an error 
19820 74 68 61 74 20 74 68 65 20 61 6c 69 61 73 20 69  that the alias i
19830 73 20 6e 6f 74 20 66 6f 75 6e 64 2e 20 28 4a 4c  s not found. (JL
19840 29 0a 0a 39 2f 31 39 2f 39 36 20 28 62 75 67 20  )..9/19/96 (bug 
19850 66 69 78 29 20 53 6c 61 76 65 20 69 6e 74 65 72  fix) Slave inter
19860 70 72 65 74 65 72 73 20 63 6f 75 6c 64 20 72 65  preters could re
19870 6e 61 6d 65 20 61 6c 69 61 73 65 73 20 61 6e 64  name aliases and
19880 20 74 68 65 79 20 77 6f 75 6c 64 0a 6e 6f 74 20   they would.not 
19890 67 65 74 20 64 65 6c 65 74 65 64 20 77 68 65 6e  get deleted when
198a0 20 74 68 65 20 61 6c 69 61 73 20 77 61 73 20 62   the alias was b
198b0 65 69 6e 67 20 72 65 64 65 66 69 6e 65 64 2e 20  eing redefined. 
198c0 54 68 69 73 20 6c 65 64 20 74 6f 20 64 61 6e 67  This led to dang
198d0 6c 69 6e 67 0a 70 6f 69 6e 74 65 72 73 20 65 74  ling.pointers et
198e0 63 2e 20 28 4a 4c 29 0a 0a 39 2f 31 39 2f 39 36  c. (JL)..9/19/96
198f0 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
19900 20 61 20 70 61 6e 69 63 20 77 68 65 72 65 20 61   a panic where a
19910 20 68 61 73 68 20 74 61 62 6c 65 20 65 6e 74 72   hash table entr
19920 79 20 77 61 73 20 62 65 69 6e 67 20 64 65 6c 65  y was being dele
19930 74 65 64 0a 74 77 69 63 65 20 64 75 72 69 6e 67  ted.twice during
19940 20 61 6c 69 61 73 20 6d 61 6e 61 67 65 6d 65 6e   alias managemen
19950 74 20 6f 70 65 72 61 74 69 6f 6e 73 2e 20 28 4a  t operations. (J
19960 4c 29 0a 0a 39 2f 31 39 2f 39 36 20 28 62 75 67  L)..9/19/96 (bug
19970 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20   fix) Fixed bug 
19980 69 6e 20 65 76 65 6e 74 20 6c 6f 6f 70 20 74 68  in event loop th
19990 61 74 20 63 6f 75 6c 64 20 63 61 75 73 65 20 74  at could cause t
199a0 68 65 20 69 6e 70 75 74 20 66 6f 63 75 73 0a 69  he input focus.i
199b0 6e 20 54 6b 20 74 6f 20 67 65 74 20 63 6f 6e 66  n Tk to get conf
199c0 75 73 65 64 20 64 75 72 69 6e 67 20 6d 65 6e 75  used during menu
199d0 20 74 72 61 76 65 72 73 61 6c 2c 20 61 6d 6f 6e   traversal, amon
199e0 67 20 6f 74 68 65 72 20 70 72 6f 62 6c 65 6d 73  g other problems
199f0 2e 20 20 54 68 65 0a 70 72 6f 62 6c 65 6d 20 77  .  The.problem w
19a00 61 73 20 72 65 6c 61 74 65 64 20 74 6f 20 68 61  as related to ha
19a10 6e 64 6c 69 6e 67 20 6f 66 20 74 68 65 20 22 6d  ndling of the "m
19a20 61 72 6b 65 72 22 20 77 68 65 6e 20 69 74 73 20  arker" when its 
19a30 65 76 65 6e 74 20 77 61 73 0a 64 65 6c 65 74 65  event was.delete
19a40 64 2e 20 28 4a 4f 29 0a 0a 39 2f 32 36 2f 39 36  d. (JO)..9/26/96
19a50 20 28 62 75 67 20 66 69 78 29 20 57 69 6e 64 6f   (bug fix) Windo
19a60 77 73 20 77 61 73 20 6c 6f 73 69 6e 67 20 45 4f  ws was losing EO
19a70 46 20 6f 6e 20 61 20 73 6f 63 6b 65 74 20 69 66  F on a socket if
19a80 20 74 68 65 20 46 44 5f 43 4c 4f 53 45 20 65 76   the FD_CLOSE ev
19a90 65 6e 74 0a 68 61 70 70 65 6e 65 64 20 74 6f 20  ent.happened to 
19aa0 70 72 65 63 65 64 65 20 61 6e 79 20 6c 65 66 74  precede any left
19ab0 20 6f 76 65 72 20 46 44 5f 52 45 41 44 20 65 76   over FD_READ ev
19ac0 65 6e 74 73 2e 20 4e 6f 77 20 63 6f 72 72 65 63  ents. Now correc
19ad0 74 6c 79 20 72 65 6d 65 6d 62 65 72 73 0a 73 65  tly remembers.se
19ae0 65 69 6e 67 20 46 44 5f 43 4c 4f 53 45 2c 20 73  eing FD_CLOSE, s
19af0 6f 20 74 68 61 74 20 74 72 61 69 6c 69 6e 67 20  o that trailing 
19b00 46 44 5f 52 45 41 44 20 65 76 65 6e 74 73 20 61  FD_READ events a
19b10 72 65 20 6e 6f 74 20 64 69 73 63 61 72 64 65 64  re not discarded
19b20 20 69 66 20 74 68 65 79 0a 64 6f 20 6e 6f 74 20   if they.do not 
19b30 63 6f 6e 74 61 69 6e 20 61 6e 79 20 64 61 74 61  contain any data
19b40 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 54 63  . This allows Tc
19b50 6c 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 20 67  l to correctly g
19b60 65 74 20 61 20 7a 65 72 6f 20 72 65 61 64 20 61  et a zero read a
19b70 6e 64 0a 6e 6f 74 69 63 65 20 45 4f 46 2e 20 28  nd.notice EOF. (
19b80 4a 4c 29 0a 0a 39 2f 32 36 2f 39 36 20 28 62 75  JL)..9/26/96 (bu
19b90 67 20 66 69 78 29 20 57 61 73 20 6e 6f 74 20 72  g fix) Was not r
19ba0 65 73 65 74 74 69 6e 67 20 52 45 41 44 41 42 4c  esetting READABL
19bb0 45 20 73 74 61 74 65 20 70 72 6f 70 65 72 6c 79  E state properly
19bc0 20 6f 6e 20 73 6f 63 6b 65 74 73 0a 75 6e 64 65   on sockets.unde
19bd0 72 20 57 69 6e 64 6f 77 73 20 69 66 20 74 68 65  r Windows if the
19be0 20 64 72 69 76 65 72 20 64 69 73 63 61 72 64 65   driver discarde
19bf0 64 20 61 6e 20 46 44 5f 52 45 41 44 20 65 76 65  d an FD_READ eve
19c00 6e 74 20 62 65 63 61 75 73 65 20 6e 6f 20 64 61  nt because no da
19c10 74 61 20 77 61 73 0a 70 72 65 73 65 6e 74 2e 20  ta was.present. 
19c20 4e 6f 77 20 63 6f 72 72 65 63 74 6c 79 20 72 65  Now correctly re
19c30 73 65 74 73 20 74 68 65 20 73 74 61 74 65 2e 20  sets the state. 
19c40 28 4a 4c 29 0a 0a 39 2f 33 30 2f 39 36 20 28 62  (JL)..9/30/96 (b
19c50 75 67 20 66 69 78 29 20 4d 61 64 65 20 45 4f 46  ug fix) Made EOF
19c60 20 73 74 69 63 6b 79 20 6f 6e 20 57 69 6e 64 6f   sticky on Windo
19c70 77 73 20 73 6f 63 6b 65 74 73 2c 20 73 6f 20 74  ws sockets, so t
19c80 68 61 74 20 66 69 6c 65 65 76 65 6e 74 0a 72 65  hat fileevent.re
19c90 61 64 61 62 6c 65 20 77 69 6c 6c 20 66 69 72 65  adable will fire
19ca0 20 72 65 70 65 61 74 65 64 6c 79 20 75 6e 74 69   repeatedly unti
19cb0 6c 20 74 68 65 20 73 6f 63 6b 65 74 20 69 73 20  l the socket is 
19cc0 63 6c 6f 73 65 64 2e 20 50 72 65 76 69 6f 75 73  closed. Previous
19cd0 6c 79 20 74 68 65 0a 66 69 6c 65 65 76 65 6e 74  ly the.fileevent
19ce0 20 66 69 72 65 64 20 6f 6e 6c 79 20 6f 6e 63 65   fired only once
19cf0 2e 20 54 68 69 73 20 63 6f 75 6c 64 20 6c 65 61  . This could lea
19d00 64 20 74 6f 20 6e 65 76 65 72 2d 63 6c 6f 73 65  d to never-close
19d10 64 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20 69 66  d connections if
19d20 0a 74 68 65 20 54 63 6c 20 73 63 72 69 70 74 20  .the Tcl script 
19d30 69 6e 20 74 68 65 20 66 69 6c 65 65 76 65 6e 74  in the fileevent
19d40 20 77 61 73 6e 27 74 20 63 6c 6f 73 69 6e 67 20   wasn't closing 
19d50 74 68 65 20 73 6f 63 6b 65 74 20 69 6d 6d 65 64  the socket immed
19d60 69 61 74 65 6c 79 2e 20 28 4a 4c 29 0a 0a 31 30  iately. (JL)..10
19d70 2f 32 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75  /2/96 (new featu
19d80 72 65 29 20 49 6d 70 72 6f 76 65 64 20 74 68 65  re) Improved the
19d90 20 70 61 63 6b 61 67 65 20 6c 6f 61 64 65 72 3a   package loader:
19da0 0a 20 20 20 20 2d 20 41 64 64 65 64 20 6e 65 77  .    - Added new
19db0 20 76 61 72 69 61 62 6c 65 20 74 63 6c 5f 70 6b   variable tcl_pk
19dc0 67 50 61 74 68 2c 20 77 68 69 63 68 20 68 6f 6c  gPath, which hol
19dd0 64 73 20 74 68 65 20 64 65 66 61 75 6c 74 0a 20  ds the default. 
19de0 20 20 20 20 20 64 69 72 65 63 74 6f 72 69 65 73       directories
19df0 20 75 6e 64 65 72 20 77 68 69 63 68 20 70 61 63   under which pac
19e00 6b 61 67 65 73 20 61 72 65 20 6e 6f 72 6d 61 6c  kages are normal
19e10 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 28 65 61  ly installed (ea
19e20 63 68 0a 20 20 20 20 20 20 70 61 63 6b 61 67 65  ch.      package
19e30 20 67 6f 65 73 20 69 6e 20 61 20 73 65 70 61 72   goes in a separ
19e40 61 74 65 20 73 75 62 64 69 72 65 63 74 6f 72 79  ate subdirectory
19e50 20 6f 66 20 61 20 64 69 72 65 63 74 6f 72 79 20   of a directory 
19e60 69 6e 0a 20 20 20 20 20 20 24 74 63 6c 5f 70 6b  in.      $tcl_pk
19e70 67 50 61 74 68 29 2e 20 20 54 68 65 73 65 20 64  gPath).  These d
19e80 69 72 65 63 74 6f 72 69 65 73 20 61 72 65 20 69  irectories are i
19e90 6e 63 6c 75 64 65 64 20 69 6e 20 61 75 74 6f 5f  ncluded in auto_
19ea0 70 61 74 68 20 62 79 0a 20 20 20 20 20 20 64 65  path by.      de
19eb0 66 61 75 6c 74 2e 0a 20 20 20 20 2d 20 43 68 61  fault..    - Cha
19ec0 6e 67 65 64 20 74 68 65 20 70 61 63 6b 61 67 65  nged the package
19ed0 20 61 75 74 6f 2d 6c 6f 61 64 65 72 20 74 6f 20   auto-loader to 
19ee0 6c 6f 6f 6b 20 66 6f 72 20 70 6b 67 49 6e 64 65  look for pkgInde
19ef0 78 2e 74 63 6c 20 66 69 6c 65 73 20 0a 20 20 20  x.tcl files .   
19f00 20 20 20 6e 6f 74 20 6f 6e 6c 79 20 69 6e 20 74     not only in t
19f10 68 65 20 61 75 74 6f 5f 70 61 74 68 20 64 69 72  he auto_path dir
19f20 65 63 74 6f 72 69 65 73 20 62 75 74 20 61 6c 73  ectories but als
19f30 6f 20 69 6e 20 74 68 65 69 72 20 69 6d 6d 65 64  o in their immed
19f40 69 61 74 65 0a 20 20 20 20 20 20 63 68 69 6c 64  iate.      child
19f50 72 65 6e 2e 20 20 54 68 69 73 20 73 68 6f 75 6c  ren.  This shoul
19f60 64 20 6d 61 6b 65 20 69 74 20 65 61 73 69 65 72  d make it easier
19f70 20 74 6f 20 69 6e 73 74 61 6c 6c 20 61 6e 64 20   to install and 
19f80 75 6e 69 6e 73 74 61 6c 6c 0a 20 20 20 20 20 20  uninstall.      
19f90 70 61 63 6b 61 67 65 73 20 28 64 6f 6e 27 74 20  packages (don't 
19fa0 68 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20 61  have to change a
19fb0 75 74 6f 5f 70 61 74 68 20 6f 72 20 6d 65 72 67  uto_path or merg
19fc0 65 20 70 6b 67 49 6e 64 65 78 2e 74 63 6c 0a 20  e pkgIndex.tcl. 
19fd0 20 20 20 20 20 66 69 6c 65 73 29 2e 20 28 4a 4f       files). (JO
19fe0 29 0a 0a 31 30 2f 33 2f 39 36 20 28 62 75 67 20  )..10/3/96 (bug 
19ff0 66 69 78 29 20 43 68 61 6e 67 65 64 20 74 63 6c  fix) Changed tcl
1a000 73 68 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 20 74  sh to look for t
1a010 63 6c 73 68 72 63 2e 74 63 6c 20 69 6e 73 74 65  clshrc.tcl inste
1a020 61 64 20 6f 66 0a 74 63 6c 73 68 2e 72 63 20 6f  ad of.tclsh.rc o
1a030 6e 20 73 74 61 72 74 75 70 20 75 6e 64 65 72 20  n startup under 
1a040 57 69 6e 64 6f 77 73 2e 20 20 54 68 69 73 20 69  Windows.  This i
1a050 73 20 6d 6f 72 65 20 63 6f 6e 73 69 73 74 65 6e  s more consisten
1a060 74 20 77 69 74 68 20 77 69 73 68 20 61 6e 64 0a  t with wish and.
1a070 75 73 65 73 20 74 68 65 20 72 69 67 68 74 20 65  uses the right e
1a080 78 74 65 6e 73 69 6f 6e 2e 20 28 53 53 29 0a 2a  xtension. (SS).*
1a090 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
1a0a0 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
1a0b0 0a 0a 31 30 2f 38 2f 39 36 20 28 62 75 67 20 66  ..10/8/96 (bug f
1a0c0 69 78 29 20 43 6f 6e 76 65 72 74 63 6c 6f 63 6b  ix) Convertclock
1a0d0 20 64 6f 65 73 20 6e 6f 74 20 70 61 72 73 65 20   does not parse 
1a0e0 32 34 2d 68 6f 75 72 20 74 69 6d 65 73 20 6f 66  24-hour times of
1a0f0 20 74 68 65 0a 66 6f 72 6d 20 22 68 68 6d 6d 22   the.form "hhmm"
1a100 20 63 6f 72 72 65 63 74 6c 79 20 77 68 65 6e 20   correctly when 
1a110 68 6f 75 72 20 3d 20 30 30 2e 20 20 49 6e 20 74  hour = 00.  In t
1a120 68 65 20 70 61 72 73 65 20 63 6f 64 65 2c 20 68  he parse code, h
1a130 6f 75 72 20 6d 75 73 74 20 62 65 0a 3e 3d 20 31  our must be.>= 1
1a140 30 30 20 66 6f 72 20 6d 69 6e 75 74 65 73 20 74  00 for minutes t
1a150 6f 20 62 65 20 6e 6f 6e 2d 7a 65 72 6f 2e 20 20  o be non-zero.  
1a160 54 68 61 6e 6b 73 20 74 6f 20 4c 69 6e 74 20 4c  Thanks to Lint L
1a170 61 43 6f 75 72 20 66 6f 72 20 74 68 69 73 0a 62  aCour for this.b
1a180 75 67 20 66 69 78 2e 20 28 52 4a 29 0a 0a 31 30  ug fix. (RJ)..10
1a190 2f 31 31 2f 39 36 20 28 62 75 67 20 66 69 78 29  /11/96 (bug fix)
1a1a0 20 55 6e 64 65 72 20 57 69 6e 64 6f 77 73 2c 20   Under Windows, 
1a1b0 74 68 65 20 70 69 64 20 63 6f 6d 6d 61 6e 64 20  the pid command 
1a1c0 72 65 74 75 72 6e 65 64 20 74 68 65 20 70 72 6f  returned the pro
1a1d0 63 65 73 73 0a 68 61 6e 64 6c 65 20 69 6e 73 74  cess.handle inst
1a1e0 65 61 64 20 6f 66 20 74 68 65 20 70 72 6f 63 65  ead of the proce
1a1f0 73 73 20 69 64 2e 20 28 53 53 29 0a 0a 2d 2d 2d  ss id. (SS)..---
1a200 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52  -------------- R
1a210 65 6c 65 61 73 65 64 20 37 2e 36 2c 20 31 30 2f  eleased 7.6, 10/
1a220 31 36 2f 39 36 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  16/96 ----------
1a230 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31  -------------..1
1a240 30 2f 32 39 2f 39 36 20 28 62 75 67 20 66 69 78  0/29/96 (bug fix
1a250 29 20 55 6e 64 65 72 20 57 69 6e 64 6f 77 73 2c  ) Under Windows,
1a260 20 73 6f 63 6b 65 74 73 20 77 6f 75 6c 64 20 63   sockets would c
1a270 6f 6e 73 75 6d 65 20 31 30 30 25 20 43 50 55 20  onsume 100% CPU 
1a280 74 69 6d 65 20 61 66 74 65 72 0a 74 68 65 20 66  time after.the f
1a290 69 72 73 74 20 61 63 63 65 70 74 28 29 2c 20 64  irst accept(), d
1a2a0 75 65 20 74 6f 20 61 20 74 79 70 6f 2e 20 28 4a  ue to a typo. (J
1a2b0 4c 29 0a 0a 31 30 2f 32 39 2f 39 36 20 28 62 75  L)..10/29/96 (bu
1a2c0 67 20 66 69 78 29 20 49 6e 63 6f 72 72 65 63 74  g fix) Incorrect
1a2d0 20 72 65 66 63 6f 75 6e 74 20 6d 61 6e 61 67 65   refcount manage
1a2e0 6d 65 6e 74 20 63 61 75 73 65 64 20 73 74 61 6e  ment caused stan
1a2f0 64 61 72 64 20 63 68 61 6e 6e 65 6c 73 0a 6e 6f  dard channels.no
1a300 74 20 74 6f 20 67 65 74 20 64 65 6c 65 74 65 64  t to get deleted
1a310 20 61 74 20 70 72 6f 63 65 73 73 20 65 78 69 74   at process exit
1a320 20 6f 72 20 44 4c 4c 20 75 6e 6c 6f 61 64 20 74   or DLL unload t
1a330 69 6d 65 2c 20 63 61 75 73 69 6e 67 20 61 20 6d  ime, causing a m
1a340 65 6d 6f 72 79 0a 6c 65 61 6b 20 6f 66 20 75 70  emory.leak of up
1a350 77 61 72 64 73 20 6f 66 20 32 30 4b 20 65 61 63  wards of 20K eac
1a360 68 20 74 69 6d 65 2e 20 28 4a 4c 29 0a 0a 31 31  h time. (JL)..11
1a370 2f 37 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  /7/96 (bug fix) 
1a380 41 75 74 6f 2d 65 78 65 63 20 64 69 64 6e 27 74  Auto-exec didn't
1a390 20 77 6f 72 6b 20 6f 6e 20 66 69 6c 65 20 6e 61   work on file na
1a3a0 6d 65 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e  mes that contain
1a3b0 65 64 0a 73 70 61 63 65 73 2e 20 28 4a 4f 29 0a  ed.spaces. (JO).
1a3c0 0a 31 31 2f 38 2f 39 36 20 28 62 75 67 20 66 69  .11/8/96 (bug fi
1a3d0 78 29 20 46 69 78 65 64 20 63 6f 72 65 20 64 75  x) Fixed core du
1a3e0 6d 70 20 74 68 61 74 20 77 6f 75 6c 64 20 6f 63  mp that would oc
1a3f0 63 75 72 20 69 66 20 6d 6f 72 65 20 74 68 61 6e  cur if more than
1a400 20 6f 6e 65 20 63 61 6c 6c 0a 74 6f 20 54 63 6c   one call.to Tcl
1a410 5f 44 65 6c 65 74 65 43 68 61 6e 6e 65 6c 48 61  _DeleteChannelHa
1a420 6e 64 6c 65 72 20 77 61 73 20 6d 61 64 65 20 74  ndler was made t
1a430 6f 20 64 65 6c 65 74 65 20 61 20 67 69 76 65 6e  o delete a given
1a440 20 63 68 61 6e 6e 65 6c 20 68 61 6e 64 6c 65 72   channel handler
1a450 2e 20 28 4a 4c 29 0a 0a 31 31 2f 38 2f 39 36 20  . (JL)..11/8/96 
1a460 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
1a470 74 65 73 74 20 66 6f 72 20 72 65 74 75 72 6e 20  test for return 
1a480 76 61 6c 75 65 20 69 6e 20 54 63 6c 5f 53 65 65  value in Tcl_See
1a490 6b 20 61 6e 64 20 54 63 6c 5f 53 65 65 6b 43 6d  k and Tcl_SeekCm
1a4a0 64 0a 74 6f 20 6f 6e 6c 79 20 74 72 65 61 74 20  d.to only treat 
1a4b0 2d 31 20 61 73 20 65 72 72 6f 72 2c 20 69 6e 73  -1 as error, ins
1a4c0 74 65 61 64 20 6f 66 20 61 6c 6c 20 6e 65 67 61  tead of all nega
1a4d0 74 69 76 65 20 6e 75 6d 62 65 72 73 2e 20 28 4a  tive numbers. (J
1a4e0 4c 29 0a 0a 31 31 2f 31 32 2f 39 36 20 28 62 75  L)..11/12/96 (bu
1a4f0 67 20 66 69 78 29 20 44 6f 20 6e 6f 74 20 62 6c  g fix) Do not bl
1a500 6f 63 6b 69 6e 67 20 77 61 69 74 69 6e 67 20 66  ocking waiting f
1a510 6f 72 20 70 72 6f 63 65 73 73 65 73 20 61 74 20  or processes at 
1a520 74 68 65 20 65 6e 64 20 6f 66 20 61 0a 70 69 70  the end of a.pip
1a530 65 20 64 75 72 69 6e 67 20 65 78 69 74 20 63 6c  e during exit cl
1a540 65 61 6e 75 70 2e 20 28 4a 4c 29 0a 0a 31 31 2f  eanup. (JL)..11/
1a550 31 32 2f 39 36 20 28 62 75 67 20 66 69 78 29 20  12/96 (bug fix) 
1a560 49 66 20 77 65 20 61 72 65 20 69 6e 20 65 78 69  If we are in exi
1a570 74 20 63 6c 65 61 6e 75 70 2c 20 64 6f 20 6e 6f  t cleanup, do no
1a580 74 20 63 6c 6f 73 65 20 74 68 65 20 73 79 73 74  t close the syst
1a590 65 6d 20 6c 65 76 65 6c 0a 66 69 6c 65 20 64 65  em level.file de
1a5a0 73 63 72 69 70 74 6f 72 73 20 30 2c 20 31 20 61  scriptors 0, 1 a
1a5b0 6e 64 20 32 2e 20 50 72 65 76 69 6f 75 73 6c 79  nd 2. Previously
1a5c0 20 74 68 65 79 20 77 65 72 65 20 62 65 69 6e 67   they were being
1a5d0 20 63 6c 6f 73 65 64 20 77 68 69 63 68 20 69 73   closed which is
1a5e0 0a 69 6e 63 6f 72 72 65 63 74 2c 20 69 6e 20 74  .incorrect, in t
1a5f0 68 65 20 65 6d 62 65 64 64 65 64 20 63 61 73 65  he embedded case
1a600 2e 20 54 68 69 73 20 6c 65 64 20 74 6f 20 77 65  . This led to we
1a610 69 72 64 20 62 65 68 61 76 69 6f 72 20 66 6f 72  ird behavior for
1a620 20 70 72 6f 67 72 61 6d 73 0a 74 68 61 74 20 77   programs.that w
1a630 61 6e 74 20 74 6f 20 69 6e 74 65 72 70 6f 73 65  ant to interpose
1a640 20 6f 6e 20 49 2f 4f 20 74 68 72 6f 75 67 68 20   on I/O through 
1a650 74 68 65 20 73 74 61 6e 64 61 72 64 20 66 69 6c  the standard fil
1a660 65 20 64 65 73 63 72 69 70 74 6f 72 73 20 28 65  e descriptors (e
1a670 2e 67 2e 0a 4e 65 74 73 63 61 70 65 20 4e 61 76  .g..Netscape Nav
1a680 69 67 61 74 6f 72 29 2e 20 28 4a 4c 29 0a 0a 31  igator). (JL)..1
1a690 31 2f 31 35 2f 39 36 20 28 62 75 67 20 66 69 78  1/15/96 (bug fix
1a6a0 29 20 46 69 78 65 64 20 63 6f 72 65 20 64 75 6d  ) Fixed core dum
1a6b0 70 20 6f 6e 20 57 69 6e 64 6f 77 73 20 73 6f 63  p on Windows soc
1a6c0 6b 65 74 73 20 64 75 65 20 74 6f 20 64 65 70 65  kets due to depe
1a6d0 6e 64 65 6e 63 79 20 6f 6e 0a 64 65 6c 65 74 69  ndency on.deleti
1a6e0 6f 6e 20 6f 72 64 65 72 20 61 74 20 65 78 69 74  on order at exit
1a6f0 2e 20 4e 6f 77 20 61 6c 6c 20 73 6f 63 6b 65 74  . Now all socket
1a700 20 66 75 6e 63 74 69 6f 6e 73 20 63 68 65 63 6b   functions check
1a710 20 74 6f 20 73 65 65 20 69 66 20 73 6f 63 6b 65   to see if socke
1a720 74 73 0a 61 72 65 20 28 73 74 69 6c 6c 29 20 69  ts.are (still) i
1a730 6e 69 74 69 61 6c 69 7a 65 64 2c 20 62 65 66 6f  nitialized, befo
1a740 72 65 20 63 61 6c 6c 69 6e 67 20 74 68 72 6f 75  re calling throu
1a750 67 68 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e  gh function poin
1a760 74 65 72 73 2e 20 42 65 66 6f 72 65 2c 0a 74 68  ters. Before,.th
1a770 65 79 20 77 6f 75 6c 64 20 63 61 6c 6c 20 61 6e  ey would call an
1a780 64 20 6d 69 67 68 74 20 65 6e 64 20 75 70 20 63  d might end up c
1a790 61 6c 6c 69 6e 67 20 75 6e 6c 6f 61 64 65 64 20  alling unloaded 
1a7a0 6f 62 6a 65 63 74 20 63 6f 64 65 2e 20 28 4a 4c  object code. (JL
1a7b0 29 0a 0a 31 31 2f 31 35 2f 39 36 20 28 62 75 67  )..11/15/96 (bug
1a7c0 20 66 69 78 29 20 46 69 78 65 64 20 63 6f 72 65   fix) Fixed core
1a7d0 20 64 75 6d 70 20 69 6e 20 57 69 6e 64 6f 77 73   dump in Windows
1a7e0 20 73 6f 63 6b 65 74 20 69 6e 69 74 69 61 6c 69   socket initiali
1a7f0 7a 61 74 69 6f 6e 20 72 6f 75 74 69 6e 65 0a 69  zation routine.i
1a800 66 20 73 6f 63 6b 65 74 73 20 77 65 72 65 20 6e  f sockets were n
1a810 6f 74 20 69 6e 73 74 61 6c 6c 65 64 20 6f 6e 20  ot installed on 
1a820 74 68 65 20 73 79 73 74 65 6d 2e 20 42 65 66 6f  the system. Befo
1a830 72 65 2c 20 69 74 20 77 61 73 20 6e 6f 74 20 70  re, it was not p
1a840 72 6f 70 65 72 6c 79 0a 63 68 65 63 6b 69 6e 67  roperly.checking
1a850 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 61   the result of a
1a860 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 6c 6f 61  ttempting to loa
1a870 64 20 74 68 65 20 73 6f 63 6b 65 74 20 44 4c 4c  d the socket DLL
1a880 2c 20 73 6f 20 69 74 20 77 6f 75 6c 64 20 63 61  , so it would ca
1a890 6c 6c 0a 74 68 72 6f 75 67 68 20 75 6e 69 6e 69  ll.through unini
1a8a0 74 69 61 6c 69 7a 65 64 20 66 75 6e 63 74 69 6f  tialized functio
1a8b0 6e 20 70 6f 69 6e 74 65 72 73 2e 20 28 4a 4c 29  n pointers. (JL)
1a8c0 0a 0a 31 31 2f 31 35 2f 39 36 20 28 62 75 67 20  ..11/15/96 (bug 
1a8d0 66 69 78 29 20 46 69 78 65 64 20 6d 65 6d 6f 72  fix) Fixed memor
1a8e0 79 20 6c 65 61 6b 20 69 6e 20 57 69 6e 64 6f 77  y leak in Window
1a8f0 73 20 73 6f 63 6b 65 74 73 20 77 68 69 63 68 20  s sockets which 
1a900 6c 65 66 74 20 73 6f 63 6b 65 74 0a 44 4c 4c 20  left socket.DLL 
1a910 68 61 6e 64 6c 65 20 6f 70 65 6e 20 61 6e 64 20  handle open and 
1a920 63 6f 75 6c 64 20 68 6f 6c 64 20 74 68 65 20 73  could hold the s
1a930 6f 63 6b 65 74 20 44 4c 4c 20 69 6e 20 6d 65 6d  ocket DLL in mem
1a940 6f 72 79 20 75 6e 65 63 63 65 73 73 61 72 69 6c  ory uneccessaril
1a950 79 2c 0a 75 6e 74 69 6c 20 61 20 72 65 62 6f 6f  y,.until a reboo
1a960 74 2e 20 28 4a 4c 29 0a 0a 31 32 2f 34 2f 39 36  t. (JL)..12/4/96
1a970 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
1a980 20 62 75 67 20 69 6e 20 4d 61 63 69 6e 74 6f 73   bug in Macintos
1a990 68 20 73 6f 63 6b 65 74 20 63 6f 64 65 20 74 68  h socket code th
1a9a0 61 74 20 63 6f 75 6c 64 20 72 65 73 75 6c 74 0a  at could result.
1a9b0 69 6e 20 6c 6f 73 74 20 64 61 74 61 20 69 66 20  in lost data if 
1a9c0 61 20 63 6c 69 65 6e 74 20 77 61 73 20 63 6c 6f  a client was clo
1a9d0 73 65 64 20 74 6f 6f 20 73 6f 6f 6e 20 61 66 74  sed too soon aft
1a9e0 65 72 20 73 65 6e 64 69 6e 67 20 64 61 74 61 2e  er sending data.
1a9f0 20 28 52 4a 29 0a 0a 31 32 2f 31 37 2f 39 36 20   (RJ)..12/17/96 
1aa00 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
1aa10 64 65 61 64 6c 6f 63 6b 20 62 75 67 20 69 6e 20  deadlock bug in 
1aa20 57 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74 73 20  Windows sockets 
1aa30 64 75 65 20 74 6f 20 6c 6f 73 69 6e 67 20 61 6e  due to losing an
1aa40 0a 65 76 65 6e 74 2e 20 54 68 69 73 20 77 61 73  .event. This was
1aa50 20 68 61 70 70 65 6e 69 6e 67 20 62 65 63 61 75   happening becau
1aa60 73 65 20 6f 66 20 61 6e 20 69 6e 74 65 72 61 63  se of an interac
1aa70 74 69 6f 6e 20 62 65 74 77 65 65 6e 20 62 75 66  tion between buf
1aa80 66 65 72 69 6e 67 20 61 6e 64 0a 6e 6f 6e 62 6c  fering and.nonbl
1aa90 6f 63 6b 69 6e 67 20 6d 6f 64 65 20 6f 6e 20 73  ocking mode on s
1aaa0 6f 63 6b 65 74 73 2e 20 4e 6f 77 20 73 77 69 74  ockets. Now swit
1aab0 63 68 65 64 20 74 6f 20 73 6f 63 6b 65 74 73 20  ched to sockets 
1aac0 62 65 69 6e 67 20 62 6c 6f 63 6b 69 6e 67 20 62  being blocking b
1aad0 79 0a 64 65 66 61 75 6c 74 2c 20 73 6f 20 77 65  y.default, so we
1aae0 20 61 72 65 20 61 6c 73 6f 20 6e 6f 20 6c 6f 6e   are also no lon
1aaf0 67 65 72 20 65 6d 75 6c 61 74 69 6e 67 20 62 6c  ger emulating bl
1ab00 6f 63 6b 69 6e 67 20 74 68 72 6f 75 67 68 20 61  ocking through a
1ab10 20 70 72 69 76 61 74 65 0a 65 76 65 6e 74 20 6c   private.event l
1ab20 6f 6f 70 2e 20 28 4a 4c 29 0a 0a 31 2f 32 31 2f  oop. (JL)..1/21/
1ab30 39 37 20 28 70 65 72 66 6f 72 6d 61 6e 63 65 20  97 (performance 
1ab40 62 75 67 20 66 69 78 29 20 43 6c 69 65 6e 74 20  bug fix) Client 
1ab50 54 43 50 20 63 6f 6e 6e 65 63 74 69 6f 6e 73 20  TCP connections 
1ab60 77 65 72 65 20 73 6c 6f 77 20 74 6f 20 63 72 65  were slow to cre
1ab70 61 74 65 0a 62 65 63 61 75 73 65 20 67 65 74 73  ate.because gets
1ab80 65 72 76 62 79 6e 61 6d 65 20 77 61 73 20 61 6c  ervbyname was al
1ab90 77 61 79 73 20 63 61 6c 6c 65 64 20 6f 6e 20 74  ways called on t
1aba0 68 65 20 70 6f 72 74 2e 20 20 4e 6f 77 20 74 68  he port.  Now th
1abb0 69 73 20 69 73 20 6f 6e 6c 79 0a 64 6f 6e 65 20  is is only.done 
1abc0 69 66 20 54 63 6c 5f 47 65 74 49 6e 74 20 66 61  if Tcl_GetInt fa
1abd0 69 6c 73 2e 20 28 42 57 29 0a 0a 31 2f 32 31 2f  ils. (BW)..1/21/
1abe0 39 37 20 28 63 6f 6e 66 69 67 75 72 61 74 69 6f  97 (configuratio
1abf0 6e 20 66 69 78 29 20 4d 61 64 65 20 69 74 20 70  n fix) Made it p
1ac00 6f 73 73 69 62 6c 65 20 74 6f 20 6f 76 65 72 72  ossible to overr
1ac10 69 64 65 20 54 43 4c 5f 50 41 43 4b 41 47 45 5f  ide TCL_PACKAGE_
1ac20 50 41 54 48 0a 64 75 72 69 6e 67 20 6d 61 6b 65  PATH.during make
1ac30 2e 20 20 50 72 65 76 69 6f 75 73 6c 79 20 69 74  .  Previously it
1ac40 20 77 61 73 20 6f 6e 6c 79 20 73 65 74 20 64 75   was only set du
1ac50 72 69 6e 67 20 61 75 74 6f 63 6f 6e 66 20 70 72  ring autoconf pr
1ac60 6f 63 65 73 73 2e 0a 0a 31 2f 32 39 2f 39 37 20  ocess...1/29/97 
1ac70 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
1ac80 73 6f 6d 65 20 70 72 6f 62 6c 65 6d 73 20 77 69  some problems wi
1ac90 74 68 20 74 68 65 20 63 6c 6f 63 6b 20 63 6f 6d  th the clock com
1aca0 6d 61 6e 64 20 74 68 61 74 0a 69 6d 70 61 63 74  mand that.impact
1acb0 65 64 20 68 6f 77 20 64 61 74 65 73 20 77 65 72  ed how dates wer
1acc0 65 20 73 63 61 6e 65 64 20 61 66 74 65 72 20 74  e scaned after t
1acd0 68 65 20 79 65 61 72 20 32 30 30 30 2e 20 28 52  he year 2000. (R
1ace0 4a 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  J)..------------
1acf0 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 37  ----- Released 7
1ad00 2e 36 70 32 2c 20 31 2f 33 31 2f 39 37 20 2d 2d  .6p2, 1/31/97 --
1ad10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1ad20 2d 2d 2d 2d 2d 0a 0a 32 2f 35 2f 39 37 20 28 62  -----..2/5/97 (b
1ad30 75 67 20 66 69 78 29 20 46 69 78 65 64 20 61 20  ug fix) Fixed a 
1ad40 62 75 67 20 77 68 65 72 65 20 69 6e 20 43 52 2d  bug where in CR-
1ad50 4c 46 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 6d  LF translation m
1ad60 6f 64 65 2c 20 5c 72 20 62 79 74 65 73 0a 69 6e  ode, \r bytes.in
1ad70 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 65 61   the input strea
1ad80 6d 20 77 65 72 65 20 6e 6f 74 20 62 65 69 6e 67  m were not being
1ad90 20 68 61 6e 64 6c 65 64 20 63 6f 72 72 65 63 74   handled correct
1ada0 6c 79 2e 20 28 4a 4c 29 0a 0a 32 2f 32 34 2f 39  ly. (JL)..2/24/9
1adb0 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78 20  7 (bug fix) Fix 
1adc0 62 75 67 20 77 69 74 68 20 65 78 65 63 20 75 6e  bug with exec un
1add0 64 65 72 20 57 69 6e 33 32 73 20 6e 6f 74 20 62  der Win32s not b
1ade0 65 69 6e 67 20 61 62 6c 65 20 74 6f 20 63 72 65  eing able to cre
1adf0 61 74 65 0a 73 74 64 65 72 72 20 66 69 6c 65 20  ate.stderr file 
1ae00 77 68 69 63 68 20 63 61 75 73 65 64 20 61 6c 6c  which caused all
1ae10 20 65 78 65 63 73 20 74 6f 20 66 61 69 6c 2e 20   execs to fail. 
1ae20 20 46 69 78 65 64 20 74 65 6d 70 20 66 69 6c 65   Fixed temp file
1ae30 20 6c 65 61 6b 20 75 6e 64 65 72 0a 57 69 6e 33   leak under.Win3
1ae40 32 73 2e 20 20 46 69 78 65 64 20 6f 70 74 69 6f  2s.  Fixed optio
1ae50 6e 61 6c 20 70 61 72 61 6d 65 74 65 72 20 62 75  nal parameter bu
1ae60 67 20 77 69 74 68 20 53 65 61 72 63 68 50 61 74  g with SearchPat
1ae70 68 20 74 68 61 74 20 6f 6e 6c 79 20 68 61 70 70  h that only happ
1ae80 65 6e 65 64 0a 75 6e 64 65 72 20 57 69 6e 33 32  ened.under Win32
1ae90 73 20 31 2e 32 35 2e 20 28 43 43 53 29 0a 0a 2d  s 1.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 2d 2d 2d 0a 43 68 61 6e 67 65  ---------.Change
1aee0 73 20 66 6f 72 20 54 63 6c 20 37 2e 36 20 67 6f  s for Tcl 7.6 go
1aef0 20 61 62 6f 76 65 20 74 68 69 73 20 6c 69 6e 65   above this line
1af00 2e 0a 43 68 61 6e 67 65 73 20 66 6f 72 20 54 63  ..Changes for Tc
1af10 6c 20 37 2e 37 20 67 6f 20 62 65 6c 6f 77 20 74  l 7.7 go below t
1af20 68 69 73 20 6c 69 6e 65 2e 0a 2d 2d 2d 2d 2d 2d  his 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 2d 2d 2d 0a 0a 35 2f 38 2f 39 36 20 28 6e 65  ----..5/8/96 (ne
1af70 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
1af80 20 54 63 6c 5f 55 6e 67 65 74 73 20 43 20 41 50   Tcl_Ungets C AP
1af90 49 20 66 6f 72 20 70 75 74 74 69 6e 67 20 61 20  I for putting a 
1afa0 73 65 71 75 65 6e 63 65 20 6f 66 20 62 79 74 65  sequence of byte
1afb0 73 0a 69 6e 74 6f 20 61 20 63 68 61 6e 6e 65 6c  s.into a channel
1afc0 27 73 20 69 6e 70 75 74 20 62 75 66 66 65 72 2e  's input buffer.
1afd0 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65   This can be use
1afe0 64 20 66 6f 72 20 22 70 75 73 68 22 20 6d 6f 64  d for "push" mod
1aff0 65 6c 20 63 68 61 6e 6e 65 6c 73 0a 77 68 65 72  el channels.wher
1b000 65 20 74 68 65 20 69 6e 70 75 74 20 69 73 20 6f  e the input is o
1b010 62 74 61 69 6e 65 64 20 76 69 61 20 63 61 6c 6c  btained via call
1b020 62 61 63 6b 73 20 69 6e 73 74 65 61 64 20 6f 66  backs instead of
1b030 20 62 79 20 72 65 71 75 65 73 74 20 6f 66 20 74   by request of t
1b040 68 65 0a 67 65 6e 65 72 69 63 20 49 4f 20 63 6f  he.generic IO co
1b050 64 65 2e 20 4e 6f 20 54 63 6c 20 70 72 6f 63 65  de. No Tcl proce
1b060 64 75 72 65 20 79 65 74 2e 20 28 4a 4c 29 0a 0a  dure yet. (JL)..
1b070 31 31 2f 31 35 2f 39 36 20 28 6e 65 77 20 66 65  11/15/96 (new fe
1b080 61 74 75 72 65 29 20 49 6d 70 6c 65 6d 65 6e 74  ature) Implement
1b090 65 64 20 68 69 64 64 65 6e 20 63 6f 6d 6d 61 6e  ed hidden comman
1b0a0 64 73 2e 20 4e 65 77 20 43 20 41 50 49 73 3a 0a  ds. New C APIs:.
1b0b0 09 54 63 6c 5f 48 69 64 65 43 6f 6d 6d 61 6e 64  .Tcl_HideCommand
1b0c0 09 09 2d 2d 20 68 69 64 65 73 20 61 6e 20 65 78  ..-- hides an ex
1b0d0 69 73 74 69 6e 67 20 65 78 70 6f 73 65 64 20 63  isting exposed c
1b0e0 6f 6d 6d 61 6e 64 2e 0a 09 54 63 6c 5f 45 78 70  ommand...Tcl_Exp
1b0f0 6f 73 65 43 6f 6d 6d 61 6e 64 09 2d 2d 20 65 78  oseCommand.-- ex
1b100 70 6f 73 65 73 20 61 6e 20 65 78 69 73 74 69 6e  poses an existin
1b110 67 20 68 69 64 64 65 6e 20 63 6f 6d 6d 61 6e 64  g hidden command
1b120 2e 0a 4e 65 77 20 74 63 6c 20 41 50 49 73 3a 0a  ..New tcl APIs:.
1b130 09 69 6e 74 65 72 70 20 69 6e 76 6f 6b 65 68 69  .interp invokehi
1b140 64 64 65 6e 09 2d 2d 20 69 6e 76 6f 6b 65 73 20  dden.-- invokes 
1b150 61 20 68 69 64 64 65 6e 20 63 6f 6d 6d 61 6e 64  a hidden command
1b160 20 69 6e 20 61 20 73 6c 61 76 65 2e 0a 09 69 6e   in a slave...in
1b170 74 65 72 70 20 68 69 64 65 09 09 2d 2d 20 68 69  terp hide..-- hi
1b180 64 65 73 20 61 6e 20 65 78 69 73 74 69 6e 67 20  des an existing 
1b190 65 78 70 6f 73 65 64 20 63 6f 6d 6d 61 6e 64 2e  exposed command.
1b1a0 0a 09 69 6e 74 65 72 70 20 65 78 70 6f 73 65 09  ..interp expose.
1b1b0 09 2d 2d 20 65 78 70 6f 73 65 73 20 61 6e 20 65  .-- exposes an e
1b1c0 78 69 73 74 69 6e 67 20 68 69 64 64 65 6e 20 63  xisting hidden c
1b1d0 6f 6d 6d 61 6e 64 2e 0a 09 69 6e 74 65 72 70 20  ommand...interp 
1b1e0 68 69 64 64 65 6e 09 09 2d 2d 20 72 65 74 75 72  hidden..-- retur
1b1f0 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 68 69 64  ns a list of hid
1b200 64 65 6e 20 63 6f 6d 6d 61 6e 64 73 2e 0a 54 68  den commands..Th
1b210 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  e implementation
1b220 20 6f 66 20 53 61 66 65 20 54 63 6c 20 6e 6f 77   of Safe Tcl now
1b230 20 75 73 65 73 20 74 68 65 20 6e 65 77 20 68 69   uses the new hi
1b240 64 64 65 6e 20 63 6f 6d 6d 61 6e 64 73 20 66 61  dden commands fa
1b250 63 69 6c 69 74 79 0a 74 6f 20 69 6d 70 6c 65 6d  cility.to implem
1b260 65 6e 74 20 74 68 65 20 73 61 66 65 20 62 61 73  ent the safe bas
1b270 65 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 64 65  e, instead of de
1b280 6c 65 74 69 6e 67 20 74 68 65 20 63 6f 6d 6d 61  leting the comma
1b290 6e 64 73 20 66 72 6f 6d 20 61 20 73 61 66 65 0a  nds from a safe.
1b2a0 69 6e 74 65 72 70 72 65 74 65 72 2e 20 28 4a 4c  interpreter. (JL
1b2b0 29 0a 0a 31 31 2f 31 35 2f 39 36 20 28 6e 65 77  )..11/15/96 (new
1b2c0 20 66 65 61 74 75 72 65 29 20 49 6d 70 6c 65 6d   feature) Implem
1b2d0 65 6e 74 65 64 20 74 68 65 20 73 61 66 65 20 62  ented the safe b
1b2e0 61 73 65 2c 20 61 20 6d 65 63 68 61 6e 69 73 6d  ase, a mechanism
1b2f0 20 66 6f 72 0a 69 6e 73 74 61 6c 6c 69 6e 67 20   for.installing 
1b300 61 6e 64 20 72 65 71 75 65 73 74 69 6e 67 20 73  and requesting s
1b310 65 63 75 72 69 74 79 20 70 6f 6c 69 63 69 65 73  ecurity policies
1b320 2c 20 70 75 72 65 6c 79 20 69 6e 20 54 63 6c 20  , purely in Tcl 
1b330 63 6f 64 65 2e 20 4f 76 65 72 6c 6f 61 64 73 0a  code. Overloads.
1b340 74 68 65 20 70 61 63 6b 61 67 65 20 63 6f 6d 6d  the package comm
1b350 61 6e 64 20 74 6f 20 61 6c 73 6f 20 61 6c 6c 6f  and to also allo
1b360 77 20 61 6e 20 69 6e 74 65 72 70 72 65 74 65 72  w an interpreter
1b370 20 74 6f 20 22 72 65 71 75 69 72 65 22 20 61 20   to "require" a 
1b380 70 6f 6c 69 63 79 2e 20 54 68 65 0a 66 6f 6c 6c  policy. The.foll
1b390 6f 77 69 6e 67 20 6e 65 77 20 6c 69 62 72 61 72  owing new librar
1b3a0 79 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 70  y commands are p
1b3b0 72 6f 76 69 64 65 64 3a 0a 09 74 63 6c 5f 73 61  rovided:..tcl_sa
1b3c0 66 65 43 72 65 61 74 65 49 6e 74 65 72 70 09 2d  feCreateInterp.-
1b3d0 2d 20 63 72 65 61 74 65 73 20 61 20 73 6c 61 76  - creates a slav
1b3e0 65 20 61 6e 20 69 6e 69 74 69 61 6c 69 7a 65 73  e an initializes
1b3f0 20 74 68 65 0a 09 09 09 09 20 20 20 70 6f 6c 69   the.....   poli
1b400 63 79 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 09 74  cy mechanism...t
1b410 63 6c 5f 73 61 66 65 49 6e 69 74 49 6e 74 65 72  cl_safeInitInter
1b420 70 09 2d 2d 20 69 6e 69 74 69 61 6c 69 7a 65 73  p.-- initializes
1b430 20 61 6e 20 65 78 69 73 74 69 6e 67 20 73 6c 61   an existing sla
1b440 76 65 20 77 69 74 68 20 74 68 65 0a 09 09 09 09  ve with the.....
1b450 20 20 20 70 6f 6c 69 63 79 20 6d 65 63 68 61 6e     policy mechan
1b460 69 73 6d 2e 0a 09 74 63 6c 5f 73 61 66 65 44 65  ism...tcl_safeDe
1b470 6c 65 74 65 49 6e 74 65 72 70 09 2d 2d 20 64 65  leteInterp.-- de
1b480 6c 65 74 65 73 20 61 20 73 6c 61 76 65 20 61 6e  letes a slave an
1b490 64 20 64 65 69 6e 69 74 69 61 6c 69 7a 65 73 20  d deinitializes 
1b4a0 74 68 65 0a 09 09 09 09 20 20 20 70 6f 6c 69 63  the.....   polic
1b4b0 79 20 6d 65 63 68 61 6e 69 73 6d 2e 0a 41 64 64  y mechanism..Add
1b4c0 65 64 20 61 20 6e 65 77 20 66 69 6c 65 20 74 6f  ed a new file to
1b4d0 20 74 68 65 20 6c 69 62 72 61 72 79 2c 20 73 61   the library, sa
1b4e0 66 65 69 6e 69 74 2e 74 63 6c 2c 20 74 6f 20 68  feinit.tcl, to h
1b4f0 6f 6c 64 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69  old implementati
1b500 6f 6e 2e 20 28 4a 4c 29 0a 4f 6e 20 37 2f 39 2f  on. (JL).On 7/9/
1b510 39 37 2c 20 72 65 6d 6f 76 65 64 20 74 68 65 20  97, removed the 
1b520 70 6f 6c 69 63 79 20 6c 6f 61 64 69 6e 67 20 6d  policy loading m
1b530 65 63 68 61 6e 69 73 6d 20 66 72 6f 6d 20 74 68  echanism from th
1b540 65 20 53 61 66 65 20 42 61 73 65 2e 20 4c 65 66  e Safe Base. Lef
1b550 74 0a 6f 6e 6c 79 20 74 68 65 20 53 61 66 65 20  t.only the Safe 
1b560 42 61 73 65 20 61 6c 69 61 73 65 73 20 64 65 61  Base aliases dea
1b570 6c 69 6e 67 20 77 69 74 68 20 61 75 74 6f 2d 6c  ling with auto-l
1b580 6f 61 64 69 6e 67 20 61 6e 64 20 73 6f 75 72 63  oading and sourc
1b590 65 2e 20 28 4a 4c 29 0a 0a 31 32 2f 36 2f 39 36  e. (JL)..12/6/96
1b5a0 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 49   (new feature) I
1b5b0 6d 70 6c 65 6d 65 6e 74 65 64 20 54 63 6c 5f 46  mplemented Tcl_F
1b5c0 69 6e 61 6c 69 7a 65 2c 20 61 6e 20 41 50 49 20  inalize, an API 
1b5d0 74 68 61 74 20 73 68 6f 75 6c 64 20 62 65 0a 63  that should be.c
1b5e0 61 6c 6c 65 64 20 62 79 20 61 20 70 72 6f 63 65  alled by a proce
1b5f0 73 73 20 77 68 65 6e 20 69 74 20 69 73 20 64 6f  ss when it is do
1b600 6e 65 20 75 73 69 6e 67 20 54 63 6c 2e 20 54 68  ne using Tcl. Th
1b610 69 73 20 41 50 49 20 72 75 6e 73 20 61 6c 6c 20  is API runs all 
1b620 74 68 65 20 65 78 69 74 0a 68 61 6e 64 6c 65 72  the exit.handler
1b630 73 20 74 6f 20 61 6c 6c 6f 77 20 74 68 65 6d 20  s to allow them 
1b640 74 6f 20 63 6c 65 61 6e 20 75 70 20 72 65 73 6f  to clean up reso
1b650 75 72 63 65 73 20 65 74 63 2e 20 28 4a 4c 29 0a  urces etc. (JL).
1b660 0a 31 32 2f 31 37 2f 39 36 20 28 6e 65 77 20 66  .12/17/96 (new f
1b670 65 61 74 75 72 65 29 20 41 64 64 20 61 6e 20 68  eature) Add an h
1b680 74 74 70 20 54 63 6c 20 73 63 72 69 70 74 20 70  ttp Tcl script p
1b690 61 63 6b 61 67 65 20 74 6f 20 74 68 65 20 54 63  ackage to the Tc
1b6a0 6c 20 6c 69 62 72 61 72 79 2e 0a 54 68 69 73 20  l library..This 
1b6b0 70 61 63 6b 61 67 65 20 69 6d 70 6c 65 6d 65 6e  package implemen
1b6c0 74 73 20 74 68 65 20 63 6c 69 65 6e 74 20 73 69  ts the client si
1b6d0 64 65 20 6f 66 20 48 54 54 50 2f 31 2e 30 3b 20  de of HTTP/1.0; 
1b6e0 74 68 65 20 47 45 54 2c 20 48 45 41 44 2c 0a 61  the GET, HEAD,.a
1b6f0 6e 64 20 50 4f 53 54 20 72 65 71 75 65 73 74 73  nd POST requests
1b700 2e 20 28 42 57 29 0a 0a 31 2f 32 31 2f 39 37 20  . (BW)..1/21/97 
1b710 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64  (new feature) Ad
1b720 64 65 64 20 61 20 22 6d 61 72 6b 74 72 75 73 74  ded a "marktrust
1b730 65 64 22 20 73 75 62 63 6f 6d 6d 61 6e 64 20 74  ed" subcommand t
1b740 6f 20 74 68 65 20 22 69 6e 74 65 72 70 22 20 61  o the "interp" a
1b750 6e 64 0a 74 6f 20 74 68 65 20 69 6e 74 65 72 70  nd.to the interp
1b760 72 65 74 65 72 20 6f 62 6a 65 63 74 20 63 6f 6d  reter object com
1b770 6d 61 6e 64 2e 20 49 74 20 72 65 6d 6f 76 65 73  mand. It removes
1b780 20 74 68 65 20 22 73 61 66 65 22 20 6d 61 72 6b   the "safe" mark
1b790 20 6f 6e 20 61 6e 0a 69 6e 74 65 72 70 72 65 74   on an.interpret
1b7a0 65 72 20 61 6e 64 20 64 69 73 61 62 6c 65 73 20  er and disables 
1b7b0 68 61 72 64 2d 77 69 72 65 64 20 63 68 65 63 6b  hard-wired check
1b7c0 73 20 66 6f 72 20 73 61 66 65 74 79 20 69 6e 20  s for safety in 
1b7d0 74 68 65 20 43 20 73 6f 75 72 63 65 73 2e 20 28  the C sources. (
1b7e0 4a 4c 29 0a 0a 31 2f 32 31 2f 39 37 20 28 72 65  JL)..1/21/97 (re
1b7f0 6d 6f 76 65 64 20 66 65 61 74 75 72 65 29 20 52  moved feature) R
1b800 65 6d 6f 76 65 64 20 22 76 77 61 69 74 22 20 66  emoved "vwait" f
1b810 72 6f 6d 20 73 65 74 20 6f 66 20 63 6f 6d 6d 61  rom set of comma
1b820 6e 64 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e  nds available in
1b830 0a 61 20 73 61 66 65 20 69 6e 74 65 72 70 72 65  .a safe interpre
1b840 74 65 72 2e 20 28 4a 4c 29 0a 0a 32 2f 31 31 2f  ter. (JL)..2/11/
1b850 39 37 20 28 6e 65 77 20 66 65 61 74 75 72 65 2c  97 (new feature,
1b860 20 62 75 67 20 66 69 78 29 20 68 74 74 70 20 70   bug fix) http p
1b870 61 63 6b 61 67 65 2e 20 20 41 64 64 65 64 20 2d  ackage.  Added -
1b880 61 63 63 65 70 74 20 74 6f 20 68 74 74 70 5f 63  accept to http_c
1b890 6f 6e 66 69 67 0a 73 6f 20 79 6f 75 20 63 61 6e  onfig.so you can
1b8a0 20 73 65 74 20 74 68 65 20 41 63 63 65 70 74 20   set the Accept 
1b8b0 68 65 61 64 65 72 2e 20 20 41 64 64 65 64 20 2d  header.  Added -
1b8c0 68 61 6e 64 6c 65 72 20 6f 70 74 69 6f 6e 20 74  handler option t
1b8d0 6f 20 68 74 74 70 5f 67 65 74 20 73 6f 0a 79 6f  o http_get so.yo
1b8e0 75 20 63 61 6e 20 73 75 70 70 6c 79 20 79 6f 75  u can supply you
1b8f0 72 20 6f 77 6e 20 64 61 74 61 20 68 61 6e 64 6c  r own data handl
1b900 65 72 2e 20 20 41 6c 73 6f 20 66 69 78 65 64 20  er.  Also fixed 
1b910 50 4f 53 54 20 6f 70 65 72 61 74 69 6f 6e 20 74  POST operation t
1b920 6f 0a 73 65 74 20 74 68 65 20 63 6f 72 72 65 63  o.set the correc
1b930 74 20 4d 49 4d 45 20 74 79 70 65 20 6f 6e 20 74  t MIME type on t
1b940 68 65 20 72 65 71 75 65 73 74 2e 20 28 42 57 29  he request. (BW)
1b950 0a 0a 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 2d 2d 2d 0a 43 68 61  ------------.Cha
1b990 6e 67 65 73 20 66 6f 72 20 54 63 6c 20 37 2e 37  nges for Tcl 7.7
1b9a0 20 67 6f 20 61 62 6f 76 65 20 74 68 69 73 20 6c   go above this l
1b9b0 69 6e 65 2e 0a 43 68 61 6e 67 65 73 20 66 6f 72  ine..Changes for
1b9c0 20 54 63 6c 20 38 2e 30 20 67 6f 20 62 65 6c 6f   Tcl 8.0 go belo
1b9d0 77 20 74 68 69 73 20 6c 69 6e 65 2e 0a 2d 2d 2d  w this 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 2d 2d 2d 0a 0a 39 2f 31 37 2f 39 36  -------..9/17/96
1ba20 20 28 62 75 67 20 66 69 78 29 20 55 73 69 6e 67   (bug fix) Using
1ba30 20 22 75 70 76 61 72 22 20 69 74 20 77 61 73 20   "upvar" it was 
1ba40 70 6f 73 73 69 62 6c 65 20 74 6f 20 74 75 72 6e  possible to turn
1ba50 20 61 6e 20 61 72 72 61 79 20 65 6c 65 6d 65 6e   an array elemen
1ba60 74 0a 69 6e 74 6f 20 61 6e 20 61 72 72 61 79 20  t.into an array 
1ba70 69 74 73 65 6c 66 2e 20 20 43 68 61 6e 67 65 64  itself.  Changed
1ba80 20 74 6f 20 64 69 73 61 6c 6c 6f 77 20 74 68 69   to disallow thi
1ba90 73 3b 20 69 74 20 77 61 73 20 71 75 69 72 6b 79  s; it was quirky
1baa0 20 61 6e 64 20 64 69 64 6e 27 74 0a 72 65 61 6c   and didn't.real
1bab0 6c 79 20 77 6f 72 6b 20 63 6f 72 72 65 63 74 6c  ly work correctl
1bac0 79 20 61 6e 79 77 61 79 2e 20 28 4a 4f 29 0a 0a  y anyway. (JO)..
1bad0 31 30 2f 32 31 2f 39 36 20 28 6e 65 77 20 66 65  10/21/96 (new fe
1bae0 61 74 75 72 65 29 20 54 68 65 20 63 6f 72 65 20  ature) The core 
1baf0 6f 66 20 74 68 65 20 54 63 6c 20 69 6e 74 65 72  of the Tcl inter
1bb00 70 72 65 74 65 72 20 68 61 73 20 62 65 65 6e 20  preter has been 
1bb10 72 65 70 6c 61 63 65 64 0a 77 69 74 68 20 61 6e  replaced.with an
1bb20 20 6f 6e 2d 74 68 65 2d 66 6c 79 20 63 6f 6d 70   on-the-fly comp
1bb30 69 6c 65 72 20 74 68 61 74 20 74 72 61 6e 73 6c  iler that transl
1bb40 61 74 65 73 20 54 63 6c 20 73 63 72 69 70 74 73  ates Tcl scripts
1bb50 20 74 6f 20 62 79 74 65 63 6f 64 65 64 0a 69 6e   to bytecoded.in
1bb60 73 74 72 75 63 74 69 6f 6e 73 3b 20 61 20 6e 65  structions; a ne
1bb70 77 20 69 6e 74 65 72 70 72 65 74 65 72 20 74 68  w interpreter th
1bb80 65 6e 20 65 78 65 63 75 74 65 73 20 74 68 65 20  en executes the 
1bb90 62 79 74 65 63 6f 64 65 73 2e 20 54 68 65 20 63  bytecodes. The c
1bba0 6f 6d 70 69 6c 65 72 0a 69 6e 74 72 6f 64 75 63  ompiler.introduc
1bbb0 65 73 20 6f 6e 6c 79 20 61 20 66 65 77 20 6d 69  es only a few mi
1bbc0 6e 6f 72 20 63 68 61 6e 67 65 73 20 61 74 20 74  nor changes at t
1bbd0 68 65 20 6c 65 76 65 6c 20 6f 66 20 54 63 6c 20  he level of Tcl 
1bbe0 73 63 72 69 70 74 73 2e 20 54 68 65 20 62 69 67  scripts. The big
1bbf0 67 65 73 74 0a 63 68 61 6e 67 65 73 20 61 72 65  gest.changes are
1bc00 20 74 6f 20 65 78 70 72 65 73 73 69 6f 6e 73 20   to expressions 
1bc10 61 6e 64 20 6c 69 73 74 73 2e 0a 20 20 20 20 2d  and lists..    -
1bc20 20 41 20 73 65 63 6f 6e 64 20 6c 65 76 65 6c 20   A second level 
1bc30 6f 66 20 73 75 62 73 74 69 74 75 74 69 6f 6e 73  of substitutions
1bc40 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 64 6f   is no longer do
1bc50 6e 65 20 66 6f 72 20 65 78 70 72 65 73 73 69 6f  ne for expressio
1bc60 6e 73 2e 0a 20 20 20 20 20 20 54 68 69 73 20 73  ns..      This s
1bc70 75 62 73 74 61 6e 74 69 61 6c 6c 79 20 69 6d 70  ubstantially imp
1bc80 72 6f 76 65 73 20 74 68 65 69 72 20 65 78 65 63  roves their exec
1bc90 75 74 69 6f 6e 20 74 69 6d 65 2e 20 54 68 69 73  ution time. This
1bca0 20 6d 65 61 6e 73 20 74 68 61 74 0a 20 20 20 20   means that.    
1bcb0 20 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e    the expression
1bcc0 20 22 24 78 2a 34 22 20 70 72 6f 64 75 63 65 73   "$x*4" produces
1bcd0 20 61 20 64 69 66 66 65 72 65 6e 74 20 72 65 73   a different res
1bce0 75 6c 74 20 74 68 61 6e 20 69 6e 20 74 68 65 20  ult than in the 
1bcf0 70 61 73 74 0a 20 20 20 20 20 20 69 66 20 78 20  past.      if x 
1bd00 69 73 20 22 24 79 2b 32 22 2e 20 46 6f 72 74 75  is "$y+2". Fortu
1bd10 6e 61 74 65 6c 79 2c 20 6e 6f 74 20 6d 75 63 68  nately, not much
1bd20 20 63 6f 64 65 20 64 65 70 65 6e 64 73 20 6f 6e   code depends on
1bd30 20 74 68 65 20 6f 6c 64 0a 20 20 20 20 20 20 74   the old.      t
1bd40 77 6f 2d 6c 65 76 65 6c 20 73 65 6d 61 6e 74 69  wo-level semanti
1bd50 63 73 2e 20 53 6f 6d 65 20 65 78 70 72 65 73 73  cs. Some express
1bd60 69 6f 6e 73 20 74 68 61 74 20 64 6f 2c 20 73 75  ions that do, su
1bd70 63 68 20 61 73 0a 20 20 20 20 20 20 22 65 78 70  ch as.      "exp
1bd80 72 20 5b 6a 6f 69 6e 20 24 6c 69 73 74 20 2b 5d  r [join $list +]
1bd90 22 20 63 61 6e 20 62 65 20 72 65 63 6f 64 65 64  " can be recoded
1bda0 20 74 6f 20 77 6f 72 6b 20 69 6e 20 54 63 6c 38   to work in Tcl8
1bdb0 2e 30 20 62 79 20 61 64 64 69 6e 67 0a 20 20 20  .0 by adding.   
1bdc0 20 20 20 61 6e 20 65 76 61 6c 3a 20 65 2e 67 2e     an eval: e.g.
1bdd0 2c 20 22 65 76 61 6c 20 65 78 70 72 20 5b 6a 6f  , "eval expr [jo
1bde0 69 6e 20 24 6c 69 73 74 20 2b 5d 22 2e 0a 20 20  in $list +]"..  
1bdf0 20 20 2d 20 4c 69 73 74 73 20 61 72 65 20 6e 6f    - Lists are no
1be00 77 20 63 6f 6d 70 6c 65 74 65 6c 79 20 70 61 72  w completely par
1be10 73 65 64 20 6f 6e 20 74 68 65 20 66 69 72 73 74  sed on the first
1be20 20 6c 69 73 74 20 6f 70 65 72 61 74 69 6f 6e 20   list operation 
1be30 74 6f 0a 20 20 20 20 20 20 63 72 65 61 74 65 20  to.      create 
1be40 61 20 66 61 73 74 65 72 20 69 6e 74 65 72 6e 61  a faster interna
1be50 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e  l representation
1be60 2e 20 49 6e 20 74 68 65 20 70 61 73 74 2c 20 69  . In the past, i
1be70 66 20 79 6f 75 20 68 61 64 20 61 0a 20 20 20 20  f you had a.    
1be80 20 20 6d 69 73 66 6f 72 6d 65 64 20 6c 69 73 74    misformed list
1be90 20 62 75 74 20 74 68 65 20 65 72 72 6f 6e 65 6f   but the erroneo
1bea0 75 73 20 70 61 72 74 20 77 61 73 20 61 66 74 65  us part was afte
1beb0 72 20 74 68 65 20 70 6f 69 6e 74 20 79 6f 75 0a  r the point you.
1bec0 20 20 20 20 20 20 69 6e 73 65 72 74 65 64 20 6f        inserted o
1bed0 72 20 65 78 74 72 61 63 74 65 64 20 61 6e 20 65  r extracted an e
1bee0 6c 65 6d 65 6e 74 2c 20 74 68 65 6e 20 79 6f 75  lement, then you
1bef0 20 6e 65 76 65 72 20 73 61 77 20 61 6e 20 65 72   never saw an er
1bf00 72 6f 72 2e 0a 20 20 20 20 20 20 49 6e 20 54 63  ror..      In Tc
1bf10 6c 38 2e 30 20 61 6e 20 65 72 72 6f 72 20 77 69  l8.0 an error wi
1bf20 6c 6c 20 62 65 20 72 65 70 6f 72 74 65 64 2e 20  ll be reported. 
1bf30 54 68 69 73 20 73 68 6f 75 6c 64 20 6f 6e 6c 79  This should only
1bf40 20 65 66 66 65 63 74 0a 20 20 20 20 20 20 69 6e   effect.      in
1bf50 63 6f 72 72 65 63 74 20 70 72 6f 67 72 61 6d 73  correct programs
1bf60 20 74 68 61 74 20 74 6f 6f 6b 20 61 64 76 61 6e   that took advan
1bf70 74 61 67 65 20 6f 66 20 62 65 68 61 76 69 6f 72  tage of behavior
1bf80 20 6f 66 20 74 68 65 20 6f 6c 64 0a 20 20 20 20   of the old.    
1bf90 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e    implementation
1bfa0 20 74 68 61 74 20 77 61 73 20 6e 6f 74 20 64 6f   that was not do
1bfb0 63 75 6d 65 6e 74 65 64 20 69 6e 20 74 68 65 20  cumented in the 
1bfc0 6d 61 6e 20 70 61 67 65 73 2e 0a 4f 74 68 65 72  man pages..Other
1bfd0 20 63 68 61 6e 67 65 73 20 74 6f 20 54 63 6c 20   changes to Tcl 
1bfe0 73 63 72 69 70 74 73 20 61 72 65 20 64 69 73 63  scripts are disc
1bff0 75 73 73 65 64 20 69 6e 20 74 68 65 20 77 65 62  ussed in the web
1c000 20 70 61 67 65 20 61 74 0a 68 74 74 70 3a 2f 2f   page at.http://
1c010 77 77 77 2e 73 63 72 69 70 74 69 63 73 2e 63 6f  www.scriptics.co
1c020 6d 2f 64 6f 63 2f 63 6f 6d 70 69 6c 65 72 2e 68  m/doc/compiler.h
1c030 74 6d 6c 2e 20 28 42 4c 29 0a 2a 2a 2a 20 50 4f  tml. (BL).*** PO
1c040 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
1c050 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 31 30 2f  IBILITY ***..10/
1c060 32 31 2f 39 36 20 28 6e 65 77 20 66 65 61 74 75  21/96 (new featu
1c070 72 65 29 20 49 6e 20 65 61 72 6c 69 65 72 20 76  re) In earlier v
1c080 65 72 73 69 6f 6e 73 20 6f 66 20 54 63 6c 2c 20  ersions of Tcl, 
1c090 73 74 72 69 6e 67 73 20 77 65 72 65 20 75 73 65  strings were use
1c0a0 64 20 61 73 20 61 0a 75 6e 69 76 65 72 73 61 6c  d as a.universal
1c0b0 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 3b   representation;
1c0c0 20 69 6e 20 54 63 6c 20 38 2e 30 20 73 74 72 69   in Tcl 8.0 stri
1c0d0 6e 67 73 20 61 72 65 20 72 65 70 6c 61 63 65 64  ngs are replaced
1c0e0 20 77 69 74 68 20 54 63 6c 5f 4f 62 6a 0a 73 74   with Tcl_Obj.st
1c0f0 72 75 63 74 75 72 65 73 20 28 22 6f 62 6a 65 63  ructures ("objec
1c100 74 73 22 29 20 74 68 61 74 20 63 61 6e 20 68 6f  ts") that can ho
1c110 6c 64 20 62 6f 74 68 20 61 20 73 74 72 69 6e 67  ld both a string
1c120 20 76 61 6c 75 65 20 61 6e 64 20 61 6e 20 69 6e   value and an in
1c130 74 65 72 6e 61 6c 0a 66 6f 72 6d 20 73 75 63 68  ternal.form such
1c140 20 61 73 20 61 20 62 69 6e 61 72 79 20 69 6e 74   as a binary int
1c150 65 67 65 72 20 6f 72 20 63 6f 6d 70 69 6c 65 64  eger or compiled
1c160 20 62 79 74 65 63 6f 64 65 73 2e 20 54 68 65 20   bytecodes. The 
1c170 6e 65 77 20 6f 62 6a 65 63 74 73 20 6d 61 6b 65  new objects make
1c180 20 69 74 0a 70 6f 73 73 69 62 6c 65 20 74 6f 20   it.possible to 
1c190 73 74 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f  store informatio
1c1a0 6e 20 69 6e 20 65 66 66 69 63 69 65 6e 74 20 69  n in efficient i
1c1b0 6e 74 65 72 6e 61 6c 20 66 6f 72 6d 73 20 61 6e  nternal forms an
1c1c0 64 20 61 76 6f 69 64 20 74 68 65 0a 63 6f 6e 73  d avoid the.cons
1c1d0 74 61 6e 74 20 74 72 61 6e 73 6c 61 74 69 6f 6e  tant translation
1c1e0 73 20 74 6f 20 61 6e 64 20 66 72 6f 6d 20 73 74  s to and from st
1c1f0 72 69 6e 67 73 20 74 68 61 74 20 6f 63 63 75 72  rings that occur
1c200 72 65 64 20 77 69 74 68 20 74 68 65 20 6f 6c 64  red with the old
1c210 0a 69 6e 74 65 72 70 72 65 74 65 72 2e 20 54 68  .interpreter. Th
1c220 65 72 65 20 61 72 65 20 6e 65 77 20 6d 61 6e 79  ere are new many
1c230 20 6e 65 77 20 43 20 41 50 49 73 20 66 6f 72 20   new C APIs for 
1c240 6d 61 6e 61 67 69 6e 67 20 6f 62 6a 65 63 74 73  managing objects
1c250 2e 20 53 6f 6d 65 20 6f 66 20 74 68 65 0a 6e 65  . Some of the.ne
1c260 77 20 6c 69 62 72 61 72 79 20 70 72 6f 63 65 64  w library proced
1c270 75 72 65 73 20 66 6f 72 20 6f 62 6a 65 63 74 73  ures for objects
1c280 20 28 73 75 63 68 20 61 73 20 54 63 6c 5f 45 76   (such as Tcl_Ev
1c290 61 6c 4f 62 6a 29 20 72 65 73 65 6d 62 6c 65 20  alObj) resemble 
1c2a0 65 78 69 73 74 69 6e 67 0a 73 74 72 69 6e 67 2d  existing.string-
1c2b0 62 61 73 65 64 20 70 72 6f 63 65 64 75 72 65 73  based procedures
1c2c0 20 28 73 75 63 68 20 61 73 20 54 63 6c 5f 45 76   (such as Tcl_Ev
1c2d0 61 6c 29 20 62 75 74 20 74 61 6b 65 20 61 64 76  al) but take adv
1c2e0 61 6e 74 61 67 65 20 6f 66 20 74 68 65 0a 69 6e  antage of the.in
1c2f0 74 65 72 6e 61 6c 20 66 6f 72 6d 20 73 74 6f 72  ternal form stor
1c300 65 64 20 69 6e 20 54 63 6c 20 6f 62 6a 65 63 74  ed in Tcl object
1c310 73 20 66 6f 72 20 67 72 65 61 74 65 72 20 73 70  s for greater sp
1c320 65 65 64 2e 20 4f 74 68 65 72 20 6e 65 77 20 70  eed. Other new p
1c330 72 6f 63 65 64 75 72 65 73 0a 6d 61 6e 61 67 65  rocedures.manage
1c340 20 6f 62 6a 65 63 74 73 20 61 6e 64 20 61 6c 6c   objects and all
1c350 6f 77 20 65 78 74 65 6e 73 69 6f 6e 20 77 72 69  ow extension wri
1c360 74 65 72 73 20 74 6f 20 64 65 66 69 6e 65 20 6e  ters to define n
1c370 65 77 20 6b 69 6e 64 73 20 6f 66 20 6f 62 6a 65  ew kinds of obje
1c380 63 74 73 2e 0a 53 65 65 20 74 68 65 20 6d 61 6e  cts..See the man
1c390 75 61 6c 20 65 6e 74 72 69 65 73 20 64 6f 63 2f  ual entries doc/
1c3a0 2a 4f 62 6a 2a 2e 33 20 28 42 4c 29 0a 0a 31 30  *Obj*.3 (BL)..10
1c3b0 2f 32 34 2f 39 36 20 28 62 75 67 20 66 69 78 29  /24/96 (bug fix)
1c3c0 20 46 69 78 65 64 20 6d 65 6d 6f 72 79 20 6c 65   Fixed memory le
1c3d0 61 6b 20 6f 6e 20 65 78 69 74 20 63 61 75 73 65  ak on exit cause
1c3e0 64 20 62 79 20 73 6f 6d 65 20 49 4f 20 72 65 6c  d by some IO rel
1c3f0 61 74 65 64 0a 64 61 74 61 20 73 74 72 75 63 74  ated.data struct
1c400 75 72 65 73 20 6e 6f 74 20 62 65 69 6e 67 20 64  ures not being d
1c410 65 61 6c 6c 6f 63 61 74 65 64 20 6f 6e 20 65 78  eallocated on ex
1c420 69 74 20 62 65 63 61 75 73 65 20 74 68 65 69 72  it because their
1c430 20 72 65 66 63 6f 75 6e 74 20 77 61 73 0a 61 72   refcount was.ar
1c440 74 69 66 69 63 69 61 6c 6c 79 20 62 6f 6f 73 74  tificially boost
1c450 65 64 2e 20 28 4a 4c 29 0a 0a 31 30 2f 32 34 2f  ed. (JL)..10/24/
1c460 39 36 20 28 62 75 67 20 66 69 78 29 20 46 69 78  96 (bug fix) Fix
1c470 65 64 20 63 6f 72 65 20 64 75 6d 70 20 69 6e 20  ed core dump in 
1c480 54 63 6c 5f 43 6c 6f 73 65 20 69 66 20 63 61 6c  Tcl_Close if cal
1c490 6c 65 64 20 77 69 74 68 20 4e 55 4c 4c 0a 54 63  led with NULL.Tc
1c4a0 6c 5f 43 68 61 6e 6e 65 6c 2e 20 28 4a 4c 29 0a  l_Channel. (JL).
1c4b0 0a 31 31 2f 31 39 2f 39 36 20 28 6e 65 77 20 66  .11/19/96 (new f
1c4c0 65 61 74 75 72 65 29 20 41 64 64 65 64 20 6c 69  eature) Added li
1c4d0 62 72 61 72 79 20 70 72 6f 63 65 64 75 72 65 73  brary procedures
1c4e0 20 66 6f 72 20 66 69 6e 64 69 6e 67 20 77 6f 72   for finding wor
1c4f0 64 0a 62 72 65 61 6b 73 20 69 6e 20 73 74 72 69  d.breaks in stri
1c500 6e 67 73 20 69 6e 20 61 20 70 6c 61 74 66 6f 72  ngs in a platfor
1c510 6d 20 73 70 65 63 69 66 69 63 20 6d 61 6e 6e 65  m specific manne
1c520 72 2e 20 20 53 65 65 20 74 68 65 20 6c 69 62 72  r.  See the libr
1c530 61 72 79 2e 6e 0a 6d 61 6e 75 61 6c 20 65 6e 74  ary.n.manual ent
1c540 72 79 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f  ry for more info
1c550 72 6d 61 74 69 6f 6e 2e 20 28 53 53 29 0a 0a 31  rmation. (SS)..1
1c560 31 2f 32 32 2f 39 36 20 28 66 65 61 74 75 72 65  1/22/96 (feature
1c570 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 29 20 41   improvements) A
1c580 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72  dded support for
1c590 20 64 69 66 66 65 72 65 6e 74 20 6c 65 76 65 6c   different level
1c5a0 73 20 6f 66 0a 74 72 61 63 69 6e 67 20 64 75 72  s of.tracing dur
1c5b0 69 6e 67 20 62 79 74 65 63 6f 64 65 20 63 6f 6d  ing bytecode com
1c5c0 70 69 6c 61 74 69 6f 6e 20 61 6e 64 20 65 78 65  pilation and exe
1c5d0 63 75 74 69 6f 6e 2e 20 54 68 69 73 20 73 68 6f  cution. This sho
1c5e0 75 6c 64 20 68 65 6c 70 20 69 6e 0a 74 72 61 63  uld help in.trac
1c5f0 6b 69 6e 67 20 64 6f 77 6e 20 73 75 73 70 65 63  king down suspec
1c600 74 65 64 20 70 72 6f 62 6c 65 6d 73 20 77 69 74  ted problems wit
1c610 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6f  h the compiler o
1c620 72 20 77 69 74 68 20 63 6f 6e 76 65 72 74 69 6e  r with convertin
1c630 67 0a 65 78 69 73 74 69 6e 67 20 63 6f 64 65 20  g.existing code 
1c640 74 6f 20 75 73 65 20 54 63 6c 38 2e 30 2e 20 54  to use Tcl8.0. T
1c650 77 6f 20 67 6c 6f 62 61 6c 20 54 63 6c 20 76 61  wo global Tcl va
1c660 72 69 61 62 6c 65 73 2c 20 74 72 61 63 65 43 6f  riables, traceCo
1c670 6d 70 69 6c 65 0a 61 6e 64 20 74 72 61 63 65 45  mpile.and traceE
1c680 78 65 63 2c 20 63 61 6e 20 62 65 20 73 65 74 20  xec, can be set 
1c690 74 6f 20 67 65 6e 65 72 61 74 65 20 74 72 61 63  to generate trac
1c6a0 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20  ing information 
1c6b0 69 6e 20 73 74 64 6f 75 74 3a 0a 20 20 20 20 2d  in stdout:.    -
1c6c0 20 74 72 61 63 65 43 6f 6d 70 69 6c 65 3a 20 30   traceCompile: 0
1c6d0 20 20 6e 6f 20 74 72 61 63 69 6e 67 20 28 64 65    no tracing (de
1c6e0 66 61 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20  fault).         
1c6f0 20 20 20 20 20 20 20 20 20 20 20 31 20 20 74 72             1  tr
1c700 61 63 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 73  ace compilations
1c710 20 6f 66 20 74 6f 70 20 6c 65 76 65 6c 20 63 6f   of top level co
1c720 6d 6d 61 6e 64 73 20 61 6e 64 20 70 72 6f 63 73  mmands and procs
1c730 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
1c740 20 20 20 20 20 32 20 20 74 72 61 63 65 20 61 6e       2  trace an
1c750 64 20 64 69 73 70 6c 61 79 20 69 6e 73 74 72 75  d display instru
1c760 63 74 69 6f 6e 73 20 66 6f 72 20 61 6c 6c 20 63  ctions for all c
1c770 6f 6d 70 69 6c 61 74 69 6f 6e 73 0a 20 20 20 20  ompilations.    
1c780 2d 20 74 72 61 63 65 45 78 65 63 3a 20 20 20 20  - traceExec:    
1c790 30 20 20 6e 6f 20 74 72 61 63 69 6e 67 0a 20 20  0  no tracing.  
1c7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c7b0 20 20 31 20 20 74 72 61 63 65 20 6f 6e 6c 79 20    1  trace only 
1c7c0 63 61 6c 6c 73 20 74 6f 20 54 63 6c 20 70 72 6f  calls to Tcl pro
1c7d0 63 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  cs.             
1c7e0 20 20 20 20 20 20 20 32 20 20 74 72 61 63 65 20         2  trace 
1c7f0 69 6e 76 6f 63 61 74 69 6f 6e 73 20 6f 66 20 61  invocations of a
1c800 6c 6c 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 63 6c  ll commands incl
1c810 75 64 69 6e 67 20 70 72 6f 63 73 0a 20 20 20 20  uding procs.    
1c820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1c830 33 20 20 64 65 74 61 69 6c 65 64 20 74 72 61 63  3  detailed trac
1c840 65 20 73 68 6f 77 69 6e 67 20 74 68 65 20 72 65  e showing the re
1c850 73 75 6c 74 20 6f 66 20 65 61 63 68 20 69 6e 73  sult of each ins
1c860 74 72 75 63 74 69 6f 6e 0a 74 72 61 63 65 45 78  truction.traceEx
1c870 65 63 20 3e 3d 20 32 20 70 72 6f 76 69 64 65 73  ec >= 2 provides
1c880 20 61 20 6f 6e 65 20 6c 69 6e 65 20 73 75 6d 6d   a one line summ
1c890 61 72 79 20 6f 66 20 65 61 63 68 20 63 61 6c 6c  ary of each call
1c8a0 65 64 20 63 6f 6d 6d 61 6e 64 20 61 6e 64 0a 69  ed command and.i
1c8b0 74 73 20 61 72 67 75 6d 65 6e 74 73 2e 20 43 6f  ts arguments. Co
1c8c0 6d 6d 61 6e 64 73 20 74 68 61 74 20 68 61 76 65  mmands that have
1c8d0 20 62 65 65 6e 20 22 63 6f 6d 70 69 6c 65 64 20   been "compiled 
1c8e0 61 77 61 79 22 20 73 75 63 68 20 61 73 20 73 65  away" such as se
1c8f0 74 20 61 72 65 0a 6e 6f 74 20 73 68 6f 77 6e 2e  t are.not shown.
1c900 20 28 42 4c 29 0a 0a 31 31 2f 33 30 2f 39 36 20   (BL)..11/30/96 
1c910 28 62 75 67 20 66 69 78 29 20 54 68 65 20 63 6f  (bug fix) The co
1c920 6d 6d 61 6e 64 20 22 69 6e 66 6f 20 6e 61 6d 65  mmand "info name
1c930 6f 66 65 78 65 63 75 74 61 62 6c 65 22 20 63 6f  ofexecutable" co
1c940 75 6c 64 20 73 6f 6d 65 74 69 6d 65 73 0a 72 65  uld sometimes.re
1c950 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66  turn the name of
1c960 20 61 20 64 69 72 65 63 74 6f 72 79 2e 20 28 4a   a directory. (J
1c970 4f 29 0a 0a 31 31 2f 33 30 2f 39 36 20 28 66 65  O)..11/30/96 (fe
1c980 61 74 75 72 65 20 69 6d 70 72 6f 76 65 6d 65 6e  ature improvemen
1c990 74 73 29 20 43 68 61 6e 67 65 64 20 74 68 65 20  ts) Changed the 
1c9a0 63 6f 64 65 20 69 6e 20 6c 69 62 72 61 72 79 2f  code in library/
1c9b0 69 6e 69 74 2e 74 63 6c 0a 74 68 61 74 20 72 65  init.tcl.that re
1c9c0 61 64 73 20 69 6e 20 70 6b 67 49 6e 64 65 78 2e  ads in pkgIndex.
1c9d0 74 63 6c 20 73 6f 20 74 68 61 74 20 28 61 29 20  tcl so that (a) 
1c9e0 69 74 20 72 65 61 64 73 20 74 68 65 20 66 69 6c  it reads the fil
1c9f0 65 73 20 66 72 6f 6d 20 63 68 69 6c 64 0a 64 69  es from child.di
1ca00 72 65 63 74 6f 72 69 65 73 20 62 65 66 6f 72 65  rectories before
1ca10 20 74 68 6f 73 65 20 69 6e 20 74 68 65 20 70 61   those in the pa
1ca20 72 65 6e 74 2c 20 73 6f 20 74 68 61 74 20 74 68  rent, so that th
1ca30 65 20 70 61 72 65 6e 74 20 67 65 74 73 0a 70 72  e parent gets.pr
1ca40 65 63 65 64 65 6e 63 65 2c 20 61 6e 64 20 28 62  ecedence, and (b
1ca50 29 20 69 74 20 64 6f 65 73 6e 27 74 20 71 75 69  ) it doesn't qui
1ca60 74 20 69 66 20 74 68 65 72 65 20 69 73 20 61 6e  t if there is an
1ca70 20 65 72 72 6f 72 20 69 6e 20 61 0a 70 6b 67 49   error in a.pkgI
1ca80 6e 64 65 78 2e 74 63 6c 20 66 69 6c 65 3b 20 20  ndex.tcl file;  
1ca90 69 6e 73 74 65 61 64 2c 20 69 74 20 70 72 69 6e  instead, it prin
1caa0 74 73 20 61 6e 20 65 72 72 6f 72 20 6d 65 73 73  ts an error mess
1cab0 61 67 65 20 6f 6e 20 73 74 61 6e 64 61 72 64 0a  age on standard.
1cac0 65 72 72 6f 72 20 61 6e 64 20 63 6f 6e 74 69 6e  error and contin
1cad0 75 65 73 2e 20 28 4a 4f 29 0a 0a 31 30 2f 35 2f  ues. (JO)..10/5/
1cae0 39 36 20 28 66 65 61 74 75 72 65 20 69 6d 70 72  96 (feature impr
1caf0 6f 76 65 6d 65 6e 74 73 29 20 50 61 72 74 69 61  ovements) Partia
1cb00 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  l implementation
1cb10 20 6f 66 20 62 69 6e 61 72 79 20 73 74 72 69 6e   of binary strin
1cb20 67 0a 73 75 70 70 6f 72 74 3a 20 74 68 65 20 61  g.support: the a
1cb30 62 69 6c 69 74 79 20 66 6f 72 20 54 63 6c 20 73  bility for Tcl s
1cb40 74 72 69 6e 67 20 76 61 6c 75 65 73 20 74 6f 20  tring values to 
1cb50 63 6f 6e 74 61 69 6e 20 65 6d 62 65 64 64 65 64  contain embedded
1cb60 20 6e 75 6c 6c 20 62 79 74 65 73 2e 0a 43 68 61   null bytes..Cha
1cb70 6e 67 65 64 20 74 68 65 20 54 63 6c 20 6f 62 6a  nged the Tcl obj
1cb80 65 63 74 2d 62 61 73 65 64 20 41 50 49 73 20 74  ect-based APIs t
1cb90 6f 20 74 61 6b 65 20 61 20 62 79 74 65 20 70 6f  o take a byte po
1cba0 69 6e 74 65 72 20 61 6e 64 20 6c 65 6e 67 74 68  inter and length
1cbb0 20 70 61 69 72 0a 69 6e 73 74 65 61 64 20 6f 66   pair.instead of
1cbc0 20 61 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74   a null-terminat
1cbd0 65 64 20 43 20 73 74 72 69 6e 67 2e 20 4d 6f 64  ed C string. Mod
1cbe0 69 66 69 65 64 20 73 65 76 65 72 61 6c 20 6f 62  ified several ob
1cbf0 6a 65 63 74 20 74 79 70 65 20 6d 61 6e 61 67 65  ject type manage
1cc00 72 73 0a 74 6f 20 73 75 70 70 6f 72 74 20 62 69  rs.to support bi
1cc10 6e 61 72 79 20 73 74 72 69 6e 67 73 20 62 75 74  nary strings but
1cc20 20 6e 6f 74 2c 20 66 6f 72 20 65 78 61 6d 70 6c   not, for exampl
1cc30 65 2c 20 74 68 65 20 6c 69 73 74 20 74 79 70 65  e, the list type
1cc40 20 6d 61 6e 61 67 65 72 2e 0a 45 78 69 73 74 69   manager..Existi
1cc50 6e 67 20 73 74 72 69 6e 67 2d 62 61 73 65 64 20  ng string-based 
1cc60 43 20 41 50 49 73 20 61 72 65 20 75 6e 63 68 61  C APIs are uncha
1cc70 6e 67 65 64 20 61 6e 64 20 77 69 6c 6c 20 74 72  nged and will tr
1cc80 75 6e 63 61 74 65 20 62 69 6e 61 72 79 0a 73 74  uncate binary.st
1cc90 72 69 6e 67 73 2e 20 43 6f 6d 70 69 6c 65 64 20  rings. Compiled 
1cca0 73 63 72 69 70 74 73 20 63 6f 6e 74 61 69 6e 69  scripts containi
1ccb0 6e 67 20 6e 75 6c 6c 73 20 61 72 65 20 61 6c 73  ng nulls are als
1ccc0 6f 20 74 72 75 6e 63 61 74 65 64 2e 20 28 42 4c  o truncated. (BL
1ccd0 29 0a 0a 31 32 2f 31 32 2f 39 36 20 28 66 65 61  )..12/12/96 (fea
1cce0 74 75 72 65 20 63 68 61 6e 67 65 29 20 52 65 6d  ture change) Rem
1ccf0 6f 76 65 64 20 74 68 65 20 63 6f 6d 6d 61 6e 64  oved the command
1cd00 73 20 22 63 70 22 2c 20 22 6d 6b 64 69 72 22 2c  s "cp", "mkdir",
1cd10 20 22 6d 76 22 2c 0a 22 72 6d 22 2c 20 61 6e 64   "mv",."rm", and
1cd20 20 22 72 6d 64 69 72 22 20 66 72 6f 6d 20 74 68   "rmdir" from th
1cd30 65 20 4d 61 63 69 6e 74 6f 73 68 20 76 65 72 73  e Macintosh vers
1cd40 69 6f 6e 20 6f 66 20 54 63 6c 2e 20 20 54 68 65  ion of Tcl.  The
1cd50 79 20 77 65 72 65 20 6e 65 76 65 72 0a 6f 66 66  y were never.off
1cd60 69 63 69 61 6c 6c 79 20 73 75 70 70 6f 72 74 65  icially supporte
1cd70 64 20 61 6e 64 20 74 68 65 69 72 20 66 75 6e 63  d and their func
1cd80 74 69 6f 6e 61 6c 69 74 79 20 69 73 20 6e 6f 77  tionality is now
1cd90 20 61 76 61 69 6c 61 62 6c 65 20 76 69 61 0a 74   available via.t
1cda0 68 65 20 66 69 6c 65 20 63 6f 6d 6d 61 6e 64 2e  he file command.
1cdb0 20 28 52 4a 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d   (RJ)..---------
1cdc0 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65  -------- Release
1cdd0 64 20 38 2e 30 61 31 2c 20 31 32 2f 32 30 2f 39  d 8.0a1, 12/20/9
1cde0 36 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  6 --------------
1cdf0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 2f 37 2f 39  ---------..1/7/9
1ce00 37 20 28 62 75 67 20 66 69 78 29 20 55 6e 64 65  7 (bug fix) Unde
1ce10 72 20 57 69 6e 64 6f 77 73 2c 20 22 66 69 6c 65  r Windows, "file
1ce20 20 73 74 61 74 20 63 3a 22 20 77 61 73 20 72 65   stat c:" was re
1ce30 74 75 72 6e 69 6e 67 20 65 72 72 6f 72 20 69 6e  turning error in
1ce40 73 74 65 61 64 0a 6f 66 20 73 74 61 74 20 66 6f  stead.of stat fo
1ce50 72 20 63 75 72 72 65 6e 74 20 64 69 72 20 6f 6e  r current dir on
1ce60 20 63 3a 20 64 72 69 76 65 2e 0a 0a 31 2f 31 30   c: drive...1/10
1ce70 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75 72 65  /97 (new feature
1ce80 29 20 41 64 64 65 64 20 54 63 6c 5f 47 65 74 49  ) Added Tcl_GetI
1ce90 6e 64 65 78 46 72 6f 6d 4f 62 6a 20 70 72 6f 63  ndexFromObj proc
1cea0 65 64 75 72 65 20 66 6f 72 20 71 75 69 63 6b 0a  edure for quick.
1ceb0 6c 6f 6f 6b 75 70 73 20 6f 66 20 6b 65 79 77 6f  lookups of keywo
1cec0 72 64 20 61 72 67 75 6d 65 6e 74 73 2e 20 28 4a  rd arguments. (J
1ced0 4f 29 0a 0a 31 2f 31 32 2f 39 37 20 28 6e 65 77  O)..1/12/97 (new
1cee0 20 66 65 61 74 75 72 65 29 20 53 65 72 69 61 6c   feature) Serial
1cef0 20 49 4f 20 63 68 61 6e 6e 65 6c 20 64 72 69 76   IO channel driv
1cf00 65 72 73 20 66 6f 72 20 57 69 6e 64 6f 77 73 20  ers for Windows 
1cf10 61 6e 64 20 55 6e 69 78 2c 0a 61 76 61 69 6c 61  and Unix,.availa
1cf20 62 6c 65 20 62 79 20 75 73 69 6e 67 20 54 63 6c  ble by using Tcl
1cf30 20 6f 70 65 6e 20 63 6f 6d 6d 61 6e 64 20 74 6f   open command to
1cf40 20 6f 70 65 6e 20 70 73 65 75 64 6f 2d 66 69 6c   open pseudo-fil
1cf50 65 73 20 6c 69 6b 65 20 22 63 6f 6d 31 3a 22 20  es like "com1:" 
1cf60 6f 72 0a 22 2f 64 65 76 2f 74 74 79 61 22 2e 20  or."/dev/ttya". 
1cf70 20 4e 65 77 20 6f 70 74 69 6f 6e 20 74 6f 20 54   New option to T
1cf80 63 6c 20 66 63 6f 6e 66 69 67 75 72 65 20 63 6f  cl fconfigure co
1cf90 6d 6d 61 6e 64 20 66 6f 72 20 73 65 72 69 61 6c  mmand for serial
1cfa0 20 66 69 6c 65 73 3a 20 20 0a 22 2d 6d 6f 64 65   files:  ."-mode
1cfb0 20 62 61 75 64 2c 70 61 72 69 74 79 2c 64 61 74   baud,parity,dat
1cfc0 61 2c 73 74 6f 70 22 20 74 6f 20 73 70 65 63 69  a,stop" to speci
1cfd0 66 79 20 62 61 75 64 20 72 61 74 65 2c 20 70 61  fy baud rate, pa
1cfe0 72 69 74 79 2c 20 64 61 74 61 20 62 69 74 73 2c  rity, data bits,
1cff0 20 61 6e 64 0a 73 74 6f 70 20 62 69 74 73 2e 20   and.stop bits. 
1d000 20 53 65 72 69 61 6c 20 49 4f 20 69 73 20 6e 6f   Serial IO is no
1d010 74 20 79 65 74 20 61 76 61 69 6c 61 62 6c 65 20  t yet available 
1d020 6f 6e 20 4d 61 63 2e 0a 0a 31 2f 31 36 2f 39 37  on Mac...1/16/97
1d030 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65   (feature change
1d040 29 20 52 65 73 74 6f 72 65 64 20 74 68 65 20 54  ) Restored the T
1d050 63 6c 37 2e 78 20 22 74 77 6f 20 6c 65 76 65 6c  cl7.x "two level
1d060 20 73 75 62 73 74 69 74 75 74 69 6f 6e 0a 73 65   substitution.se
1d070 6d 61 6e 74 69 63 73 22 20 66 6f 72 20 65 78 70  mantics" for exp
1d080 72 65 73 73 69 6f 6e 73 2e 20 45 78 70 72 65 73  ressions. Expres
1d090 73 69 6f 6e 73 20 6e 6f 74 20 65 6e 63 6c 6f 73  sions not enclos
1d0a0 65 64 20 69 6e 20 62 72 61 63 65 73 20 61 72 65  ed in braces are
1d0b0 0a 69 6d 70 6c 65 6d 65 6e 74 65 64 2c 20 69 6e  .implemented, in
1d0c0 20 67 65 6e 65 72 61 6c 2c 20 62 79 20 63 61 6c   general, by cal
1d0d0 6c 69 6e 67 20 74 68 65 20 65 78 70 72 20 63 6f  ling the expr co
1d0e0 6d 6d 61 6e 64 20 70 72 6f 63 65 64 75 72 65 0a  mmand procedure.
1d0f0 28 54 63 6c 5f 45 78 70 72 4f 62 6a 43 6d 64 29  (Tcl_ExprObjCmd)
1d100 20 61 74 20 72 75 6e 74 69 6d 65 20 61 66 74 65   at runtime afte
1d110 72 20 74 68 65 20 54 63 6c 20 69 6e 74 65 72 70  r the Tcl interp
1d120 72 65 74 65 72 20 68 61 73 20 61 6c 72 65 61 64  reter has alread
1d130 79 20 64 6f 6e 65 20 61 0a 66 69 72 73 74 20 72  y done a.first r
1d140 6f 75 6e 64 20 6f 66 20 73 75 62 73 74 69 74 75  ound of substitu
1d150 74 69 6f 6e 73 2e 20 54 68 69 73 20 69 73 20 73  tions. This is s
1d160 6c 6f 77 20 28 61 62 6f 75 74 20 54 63 6c 37 2e  low (about Tcl7.
1d170 78 20 73 70 65 65 64 29 20 62 65 63 61 75 73 65  x speed) because
1d180 20 6e 65 77 0a 63 6f 64 65 20 66 6f 72 20 74 68   new.code for th
1d190 65 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20  e expression is 
1d1a0 67 65 6e 65 72 61 6c 6c 79 20 63 6f 6d 70 69 6c  generally compil
1d1b0 65 64 20 65 61 63 68 20 74 69 6d 65 2e 20 48 6f  ed each time. Ho
1d1c0 77 65 76 65 72 2c 20 69 66 20 74 68 65 0a 65 78  wever, if the.ex
1d1d0 70 72 65 73 73 69 6f 6e 20 68 61 73 20 6f 6e 6c  pression has onl
1d1e0 79 20 76 61 72 69 61 62 6c 65 20 73 75 62 73 74  y variable subst
1d1f0 69 74 75 74 69 6f 6e 73 20 28 61 6e 64 20 6e 6f  itutions (and no
1d200 74 20 63 6f 6d 6d 61 6e 64 20 73 75 62 73 74 69  t command substi
1d210 74 75 74 69 6f 6e 73 29 2c 0a 22 6f 70 74 69 6d  tutions),."optim
1d220 69 73 74 69 63 22 20 66 61 73 74 20 63 6f 64 65  istic" fast code
1d230 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 69 6e   is generated in
1d240 6c 69 6e 65 2e 20 54 68 69 73 20 69 6e 6c 69 6e  line. This inlin
1d250 65 20 63 6f 64 65 20 77 69 6c 6c 20 66 61 69 6c  e code will fail
1d260 20 69 66 20 61 0a 73 65 63 6f 6e 64 20 72 6f 75   if a.second rou
1d270 6e 64 20 6f 66 20 73 75 62 73 74 69 74 75 74 69  nd of substituti
1d280 6f 6e 73 20 69 73 20 6e 65 65 64 65 64 20 28 69  ons is needed (i
1d290 2e 65 2e 2c 20 69 66 20 74 68 65 20 76 61 6c 75  .e., if the valu
1d2a0 65 20 6f 66 20 61 20 73 75 62 73 74 69 74 75 74  e of a substitut
1d2b0 65 64 0a 76 61 72 69 61 62 6c 65 20 69 74 73 65  ed.variable itse
1d2c0 6c 66 20 72 65 71 75 69 72 65 73 20 6d 6f 72 65  lf requires more
1d2d0 20 73 75 62 73 74 69 74 75 74 69 6f 6e 73 29 2e   substitutions).
1d2e0 20 54 68 65 20 6f 70 74 69 6d 69 73 74 69 63 20   The optimistic 
1d2f0 63 6f 64 65 20 77 69 6c 6c 0a 63 61 74 63 68 20  code will.catch 
1d300 74 68 65 20 65 72 72 6f 72 20 61 6e 64 20 62 61  the error and ba
1d310 63 6b 20 6f 66 66 20 74 6f 20 63 61 6c 6c 20 74  ck off to call t
1d320 68 65 20 73 6c 6f 77 65 72 20 62 75 74 20 67 75  he slower but gu
1d330 61 72 61 6e 74 65 65 64 20 63 6f 72 72 65 63 74  aranteed correct
1d340 0a 65 78 70 72 20 63 6f 6d 6d 61 6e 64 20 70 72  .expr command pr
1d350 6f 63 65 64 75 72 65 2e 20 28 42 4c 29 0a 0a 31  ocedure. (BL)..1
1d360 2f 31 36 2f 39 37 20 28 66 65 61 74 75 72 65 20  /16/97 (feature 
1d370 69 6d 70 72 6f 76 65 6d 65 6e 74 73 29 20 41 64  improvements) Ad
1d380 64 65 64 20 54 63 6c 5f 45 78 70 72 4c 6f 6e 67  ded Tcl_ExprLong
1d390 4f 62 6a 20 61 6e 64 20 54 63 6c 5f 45 78 70 72  Obj and Tcl_Expr
1d3a0 44 6f 75 62 6c 65 4f 62 6a 0a 74 6f 20 72 6f 75  DoubleObj.to rou
1d3b0 6e 64 20 6f 75 74 20 65 78 70 72 65 73 73 69 6f  nd out expressio
1d3c0 6e 2d 72 65 6c 61 74 65 64 20 70 72 6f 63 65 64  n-related proced
1d3d0 75 72 65 73 2e 20 28 42 4c 29 0a 0a 31 2f 31 36  ures. (BL)..1/16
1d3e0 2f 39 37 20 28 66 65 61 74 75 72 65 20 63 68 61  /97 (feature cha
1d3f0 6e 67 65 29 20 55 6e 64 65 72 20 57 69 6e 64 6f  nge) Under Windo
1d400 77 73 2c 20 61 74 20 73 74 61 72 74 75 70 20 74  ws, at startup t
1d410 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76  he environment v
1d420 61 72 69 61 62 6c 65 73 0a 22 70 61 74 68 22 2c  ariables."path",
1d430 20 22 63 6f 6d 73 70 65 63 22 2c 20 61 6e 64 20   "comspec", and 
1d440 22 77 69 6e 64 69 72 22 20 69 6e 20 61 6e 79 20  "windir" in any 
1d450 63 61 70 69 74 61 6c 69 7a 61 74 69 6f 6e 20 61  capitalization a
1d460 72 65 20 63 6f 6e 76 65 72 74 65 64 0a 61 75 74  re converted.aut
1d470 6f 6d 61 74 69 63 61 6c 6c 79 20 74 6f 20 75 70  omatically to up
1d480 70 65 72 20 63 61 73 65 2e 20 20 54 68 65 20 50  per case.  The P
1d490 41 54 48 20 76 61 72 69 61 62 6c 65 20 63 6f 75  ATH variable cou
1d4a0 6c 64 20 62 65 20 73 70 65 6c 6c 65 64 20 61 73  ld be spelled as
1d4b0 20 70 61 74 68 2c 0a 50 61 74 68 2c 20 50 61 54   path,.Path, PaT
1d4c0 68 2c 20 65 74 63 2e 20 61 6e 64 20 69 74 20 6d  h, etc. and it m
1d4d0 61 6b 65 73 20 70 72 6f 67 72 61 6d 6d 69 6e 67  akes programming
1d4e0 20 72 61 74 68 65 72 20 61 6e 6e 6f 79 69 6e 67   rather annoying
1d4f0 2e 20 20 41 6c 6c 20 6f 74 68 65 72 0a 65 6e 76  .  All other.env
1d500 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c  ironment variabl
1d510 65 73 20 61 72 65 20 6c 65 66 74 20 61 6c 6f 6e  es are left alon
1d520 65 2e 20 28 43 53 29 0a 0a 31 2f 32 30 2f 39 37  e. (CS)..1/20/97
1d530 20 28 6e 65 77 20 66 65 61 74 75 72 65 73 29 20   (new features) 
1d540 52 65 77 72 6f 74 65 20 74 68 65 20 22 6c 73 6f  Rewrote the "lso
1d550 72 74 22 20 63 6f 6d 6d 61 6e 64 3a 0a 20 20 20  rt" command:.   
1d560 20 2d 20 54 68 65 20 6e 65 77 20 76 65 72 73 69   - The new versi
1d570 6f 6e 20 69 73 20 62 61 73 65 64 20 6f 6e 20 72  on is based on r
1d580 65 65 6e 74 72 61 6e 74 20 6d 65 72 67 65 20 73  eentrant merge s
1d590 6f 72 74 20 63 6f 64 65 20 70 72 6f 76 69 64 65  ort code provide
1d5a0 64 0a 20 20 20 20 20 20 62 79 20 52 69 63 68 61  d.      by Richa
1d5b0 72 64 20 48 69 70 70 2c 20 73 6f 20 69 74 20 65  rd Hipp, so it e
1d5c0 6c 69 6d 69 6e 61 74 65 73 20 74 68 65 20 72 65  liminates the re
1d5d0 65 6e 74 72 61 6e 63 79 20 61 6e 64 20 73 74 61  entrancy and sta
1d5e0 62 69 6c 69 74 79 0a 20 20 20 20 20 20 70 72 6f  bility.      pro
1d5f0 62 6c 65 6d 73 20 77 69 74 68 20 74 68 65 20 6f  blems with the o
1d600 6c 64 20 71 73 6f 72 74 2d 62 61 73 65 64 20 69  ld qsort-based i
1d610 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20  mplementation.. 
1d620 20 20 20 2d 20 54 68 65 20 6e 65 77 20 76 65 72     - The new ver
1d630 73 69 6f 6e 20 73 75 70 70 6f 72 74 73 20 61 20  sion supports a 
1d640 2d 64 69 63 74 69 6f 6e 61 72 79 20 6f 70 74 69  -dictionary opti
1d650 6f 6e 20 66 6f 72 20 73 6f 72 74 69 6e 67 2c 20  on for sorting, 
1d660 61 6e 64 0a 20 20 20 20 20 20 69 74 20 61 6c 73  and.      it als
1d670 6f 20 73 75 70 70 6f 72 74 73 20 61 20 2d 69 6e  o supports a -in
1d680 64 65 78 20 6f 70 74 69 6f 6e 20 66 6f 72 20 73  dex option for s
1d690 6f 72 74 69 6e 67 20 6c 69 73 74 73 20 75 73 69  orting lists usi
1d6a0 6e 67 20 6f 6e 65 0a 20 20 20 20 20 20 65 6c 65  ng one.      ele
1d6b0 6d 65 6e 74 20 66 6f 72 20 63 6f 6d 70 61 72 69  ment for compari
1d6c0 73 6f 6e 2e 0a 20 20 20 20 2d 20 54 68 65 20 6e  son..    - The n
1d6d0 65 77 20 76 65 72 73 69 6f 6e 20 69 73 20 61 6e  ew version is an
1d6e0 20 6f 62 6a 65 63 74 20 63 6f 6d 6d 61 6e 64 2c   object command,
1d6f0 20 73 6f 20 69 74 20 77 6f 72 6b 73 20 77 65 6c   so it works wel
1d700 6c 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20  l with the.     
1d710 20 54 63 6c 20 63 6f 6d 70 69 6c 65 72 2c 20 65   Tcl compiler, e
1d720 73 70 65 63 69 61 6c 6c 79 20 69 6e 20 63 6f 6e  specially in con
1d730 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68  junction with th
1d740 65 20 6e 65 77 20 2d 69 6e 64 65 78 0a 20 20 20  e new -index.   
1d750 20 20 20 6f 70 74 69 6f 6e 2e 20 20 57 68 65 6e     option.  When
1d760 20 74 68 65 20 2d 69 6e 64 65 78 20 6f 70 74 69   the -index opti
1d770 6f 6e 20 69 73 20 75 73 65 64 2c 20 74 68 69 73  on is used, this
1d780 20 76 65 72 73 69 6f 6e 20 6f 66 20 6c 73 6f 72   version of lsor
1d790 74 0a 20 20 20 20 20 20 69 73 20 6d 6f 72 65 20  t.      is more 
1d7a0 74 68 61 6e 20 31 30 30 20 74 69 6d 65 73 20 66  than 100 times f
1d7b0 61 73 74 65 72 20 74 68 61 6e 20 74 68 65 20 54  aster than the T
1d7c0 63 6c 20 37 2e 36 20 6c 73 6f 72 74 2c 20 77 68  cl 7.6 lsort, wh
1d7d0 69 63 68 20 68 61 64 0a 20 20 20 20 20 20 74 6f  ich had.      to
1d7e0 20 75 73 65 20 74 68 65 20 2d 63 6f 6d 6d 61 6e   use the -comman
1d7f0 64 20 6f 70 74 69 6f 6e 20 74 6f 20 67 65 74 20  d option to get 
1d800 74 68 65 20 73 61 6d 65 20 65 66 66 65 63 74 2e  the same effect.
1d810 20 28 4a 4f 29 0a 0a 31 2f 32 30 2f 39 37 20 28   (JO)..1/20/97 (
1d820 66 65 61 74 75 72 65 20 69 6d 70 72 6f 76 65 6d  feature improvem
1d830 65 6e 74 73 29 20 41 64 64 65 64 20 74 68 65 20  ents) Added the 
1d840 69 6d 70 72 6f 76 65 64 20 64 65 62 75 67 67 69  improved debuggi
1d850 6e 67 20 73 75 70 70 6f 72 74 20 66 6f 72 20 54  ng support for T
1d860 63 6c 0a 6f 62 6a 65 63 74 73 20 70 72 6f 74 6f  cl.objects proto
1d870 74 79 70 65 64 20 62 79 20 4b 61 72 6c 20 4c 65  typed by Karl Le
1d880 68 65 6e 62 61 75 65 72 20 3c 6b 61 72 6c 40 68  henbauer <[email protected]
1d890 61 6d 6d 65 72 31 2e 6f 70 73 2e 4e 65 6f 53 6f  ammer1.ops.NeoSo
1d8a0 66 74 2e 63 6f 6d 3e 2e 0a 49 66 20 54 43 4c 5f  ft.com>..If TCL_
1d8b0 4d 45 4d 5f 44 45 42 55 47 20 69 73 20 64 65 66  MEM_DEBUG is def
1d8c0 69 6e 65 64 2c 20 74 68 65 20 6f 62 6a 65 63 74  ined, the object
1d8d0 20 63 72 65 61 74 69 6f 6e 20 63 61 6c 6c 73 20   creation calls 
1d8e0 75 73 65 20 54 63 6c 5f 44 62 43 6b 61 6c 6c 6f  use Tcl_DbCkallo
1d8f0 63 0a 64 69 72 65 63 74 6c 79 20 69 6e 20 6f 72  c.directly in or
1d900 64 65 72 20 74 6f 20 72 65 63 6f 72 64 20 74 68  der to record th
1d910 65 20 63 61 6c 6c 65 72 27 73 20 73 6f 75 72 63  e caller's sourc
1d920 65 20 66 69 6c 65 20 6e 61 6d 65 20 61 6e 64 20  e file name and 
1d930 6c 69 6e 65 0a 6e 75 6d 62 65 72 2e 20 28 42 4c  line.number. (BL
1d940 29 0a 0a 31 2f 32 31 2f 39 37 20 28 72 65 6d 6f  )..1/21/97 (remo
1d950 76 65 64 20 66 65 61 74 75 72 65 29 20 44 65 73  ved feature) Des
1d960 75 70 70 6f 72 74 65 64 20 74 68 65 20 74 63 6c  upported the tcl
1d970 5f 70 72 65 63 69 73 69 6f 6e 20 76 61 72 69 61  _precision varia
1d980 62 6c 65 3a 20 69 66 0a 73 65 74 2c 20 69 74 20  ble: if.set, it 
1d990 69 73 20 69 67 6e 6f 72 65 64 2e 20 20 54 63 6c  is ignored.  Tcl
1d9a0 20 6e 6f 77 20 75 73 65 73 20 74 68 65 20 66 75   now uses the fu
1d9b0 6c 6c 20 31 37 20 64 69 67 69 74 73 20 6f 66 20  ll 17 digits of 
1d9c0 70 72 65 63 69 73 69 6f 6e 20 77 68 65 6e 0a 63  precision when.c
1d9d0 6f 6e 76 65 72 74 69 6e 67 20 72 65 61 6c 20 6e  onverting real n
1d9e0 75 6d 62 65 72 73 20 74 6f 20 73 74 72 69 6e 67  umbers to string
1d9f0 73 20 28 77 69 74 68 20 74 68 65 20 6e 65 77 20  s (with the new 
1da00 6f 62 6a 65 63 74 20 73 79 73 74 65 6d 20 72 65  object system re
1da10 61 6c 0a 6e 75 6d 62 65 72 73 20 61 72 65 20 72  al.numbers are r
1da20 61 72 65 6c 79 20 63 6f 6e 76 65 72 74 65 64 20  arely converted 
1da30 74 6f 20 73 74 72 69 6e 67 73 20 73 6f 20 74 68  to strings so th
1da40 65 72 65 20 69 73 20 6e 6f 20 65 66 66 69 63 69  ere is no effici
1da50 65 6e 63 79 0a 64 69 73 61 64 76 61 6e 74 61 67  ency.disadvantag
1da60 65 20 74 6f 20 70 72 69 6e 74 69 6e 67 20 61 6c  e to printing al
1da70 6c 20 31 37 20 64 69 67 69 74 73 3b 20 74 68 65  l 17 digits; the
1da80 20 6e 65 77 20 73 63 68 65 6d 65 20 69 6d 70 72   new scheme impr
1da90 6f 76 65 73 0a 61 63 63 75 72 61 63 79 20 61 6e  oves.accuracy an
1daa0 64 20 73 69 6d 70 6c 69 66 69 65 73 20 73 65 76  d simplifies sev
1dab0 65 72 61 6c 20 41 50 49 73 29 2e 20 28 4a 4f 29  eral APIs). (JO)
1dac0 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
1dad0 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a  NCOMPATIBILITY *
1dae0 2a 2a 0a 0a 31 2f 32 31 2f 39 37 20 28 66 65 61  **..1/21/97 (fea
1daf0 74 75 72 65 20 63 68 61 6e 67 65 29 20 52 65 6d  ture change) Rem
1db00 6f 76 65 64 20 74 68 65 20 22 69 6e 74 65 72 70  oved the "interp
1db10 22 20 61 72 67 75 6d 65 6e 74 20 66 6f 72 20 74  " argument for t
1db20 68 65 0a 70 72 6f 63 65 64 75 72 65 73 20 54 63  he.procedures Tc
1db30 6c 5f 47 65 74 53 74 72 69 6e 67 46 72 6f 6d 4f  l_GetStringFromO
1db40 62 6a 2c 20 54 63 6c 5f 53 74 72 69 6e 67 4f 62  bj, Tcl_StringOb
1db50 6a 41 70 70 65 6e 64 2c 20 61 6e 64 0a 54 63 6c  jAppend, and.Tcl
1db60 5f 53 74 72 69 6e 67 4f 62 6a 41 70 70 65 6e 64  _StringObjAppend
1db70 4f 62 6a 2e 20 20 41 6c 73 6f 20 72 65 6d 6f 76  Obj.  Also remov
1db80 65 64 20 74 68 65 20 22 69 6e 74 65 72 70 22 20  ed the "interp" 
1db90 61 72 67 75 6d 65 6e 74 20 66 6f 72 0a 74 68 65  argument for.the
1dba0 20 75 70 64 61 74 65 53 74 72 69 6e 67 50 72 6f   updateStringPro
1dbb0 63 20 70 72 6f 63 65 64 75 72 65 20 69 6e 20 54  c procedure in T
1dbc0 63 6c 5f 4f 62 6a 54 79 70 65 20 73 74 72 75 63  cl_ObjType struc
1dbd0 74 75 72 65 73 2e 20 20 57 69 74 68 0a 74 68 65  tures.  With.the
1dbe0 20 74 63 6c 5f 70 72 65 63 69 73 69 6f 6e 20 63   tcl_precision c
1dbf0 68 61 6e 67 65 73 20 61 62 6f 76 65 2c 20 74 68  hanges above, th
1dc00 65 73 65 20 61 72 65 20 6e 6f 20 6c 6f 6e 67 65  ese are no longe
1dc10 72 20 6e 65 65 64 65 64 2e 20 28 4a 4f 29 0a 2a  r needed. (JO).*
1dc20 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
1dc30 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69 74  OMPATIBILITY wit
1dc40 68 20 54 63 6c 20 38 2e 30 61 31 2c 20 62 75 74  h Tcl 8.0a1, but
1dc50 20 6e 6f 74 20 77 69 74 68 20 54 63 6c 20 37 2e   not with Tcl 7.
1dc60 36 20 2a 2a 2a 0a 0a 31 2f 32 32 2f 39 37 20 28  6 ***..1/22/97 (
1dc70 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 68  bug fix) Fixed h
1dc80 74 74 70 2e 74 63 6c 20 73 6f 20 74 68 61 74 20  ttp.tcl so that 
1dc90 68 74 74 70 5f 72 65 73 65 74 20 64 6f 65 73 20  http_reset does 
1dca0 6e 6f 74 20 72 65 73 75 6c 74 20 69 6e 0a 61 6e  not result in.an
1dcb0 20 65 78 74 72 61 20 63 61 6c 6c 20 74 6f 20 74   extra call to t
1dcc0 68 65 20 63 6f 6d 6d 61 6e 64 20 63 61 6c 6c 62  he command callb
1dcd0 61 63 6b 2e 20 20 49 6e 20 61 64 64 69 74 69 6f  ack.  In additio
1dce0 6e 2c 20 69 66 20 74 68 65 20 74 72 61 6e 73 61  n, if the transa
1dcf0 63 74 69 6f 6e 0a 67 65 74 73 20 61 20 70 72 65  ction.gets a pre
1dd00 6d 61 74 75 72 65 20 65 6f 66 2c 20 74 68 65 20  mature eof, the 
1dd10 73 74 61 74 65 28 73 74 61 74 75 73 29 20 69 73  state(status) is
1dd20 20 22 65 6f 66 22 2c 20 6e 6f 74 20 22 6f 6b 22   "eof", not "ok"
1dd30 2e 20 28 42 57 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  . (BW)..--------
1dd40 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
1dd50 65 64 20 38 2e 30 61 32 2c 20 31 2f 32 34 2f 39  ed 8.0a2, 1/24/9
1dd60 37 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  7 --------------
1dd70 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 2f 32 39 2f  ---------..1/29/
1dd80 39 37 20 28 66 65 61 74 75 72 65 20 63 68 61 6e  97 (feature chan
1dd90 67 65 29 20 43 68 61 6e 67 65 64 20 68 6f 77 20  ge) Changed how 
1dda0 74 77 6f 20 64 69 67 69 74 20 79 65 61 72 73 20  two digit years 
1ddb0 61 72 65 20 70 61 72 73 65 64 20 69 6e 20 74 68  are parsed in th
1ddc0 65 0a 63 6c 6f 63 6b 20 63 6f 6d 6d 61 6e 64 2e  e.clock command.
1ddd0 20 20 54 68 65 20 6f 6c 64 20 69 6e 74 65 72 66    The old interf
1dde0 61 63 65 20 6a 75 73 74 20 61 64 64 65 64 20 31  ace just added 1
1ddf0 39 30 30 20 77 68 69 63 68 20 77 69 6c 6c 20 73  900 which will s
1de00 65 65 6d 0a 62 72 6f 6b 65 6e 20 62 79 20 74 68  eem.broken by th
1de10 65 20 79 65 61 72 20 32 30 30 30 2e 20 20 54 68  e year 2000.  Th
1de20 65 20 6e 65 77 20 73 63 68 65 6d 65 20 66 6f 6c  e new scheme fol
1de30 6c 6f 77 73 20 74 68 65 20 50 4f 53 49 58 20 73  lows the POSIX s
1de40 74 61 6e 64 61 72 64 0a 61 6e 64 20 74 72 65 61  tandard.and trea
1de50 74 73 20 64 61 74 65 73 20 37 30 2d 39 39 20 61  ts dates 70-99 a
1de60 73 20 31 39 37 30 2d 31 39 39 39 20 61 6e 64 20  s 1970-1999 and 
1de70 64 61 74 65 73 20 30 30 2d 33 38 20 61 73 20 32  dates 00-38 as 2
1de80 30 30 30 2d 32 30 33 38 2e 20 20 41 6c 6c 0a 6f  000-2038.  All.o
1de90 74 68 65 72 20 74 77 6f 20 64 69 67 69 74 20 64  ther two digit d
1dea0 61 74 65 73 20 61 72 65 20 75 6e 64 65 66 69 6e  ates are undefin
1deb0 65 64 2e 20 28 52 4a 29 0a 2a 2a 2a 20 50 4f 54  ed. (RJ).*** POT
1dec0 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
1ded0 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 32 2f 34 2f  BILITY ***..2/4/
1dee0 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78  97 (bug fix) Fix
1def0 65 64 20 62 75 67 20 69 6e 20 63 6c 6f 63 6b 20  ed bug in clock 
1df00 63 6f 64 65 20 74 68 61 74 20 64 65 61 6c 74 20  code that dealt 
1df10 77 69 74 68 20 72 65 6c 61 74 69 76 65 0a 64 61  with relative.da
1df20 74 65 73 2e 20 20 55 73 69 6e 67 20 74 68 65 20  tes.  Using the 
1df30 72 65 6c 61 74 69 76 65 20 6d 6f 6e 74 68 20 63  relative month c
1df40 6f 64 65 20 79 6f 75 20 63 6f 75 6c 64 20 67 65  ode you could ge
1df50 74 20 61 6e 20 69 6e 76 61 6c 69 64 20 64 61 74  t an invalid dat
1df60 65 0a 62 65 63 61 75 73 65 20 69 74 20 6a 75 6d  e.because it jum
1df70 70 65 64 20 69 6e 74 6f 20 61 20 6e 6f 6e 2d 65  ped into a non-e
1df80 78 69 73 74 61 6e 74 20 64 61 79 2e 20 20 28 46  xistant day.  (F
1df90 6f 72 20 65 78 61 6d 70 6c 65 2c 20 4a 61 6e 20  or example, Jan 
1dfa0 33 31 0a 74 6f 20 46 65 62 20 33 31 2e 29 20 20  31.to Feb 31.)  
1dfb0 54 68 65 20 63 6f 64 65 20 6e 6f 77 20 77 69 6c  The code now wil
1dfc0 6c 20 72 65 74 75 72 6e 20 74 68 65 20 6c 61 73  l return the las
1dfd0 74 20 76 61 6c 69 64 20 64 61 79 20 6f 66 20 74  t valid day of t
1dfe0 68 65 0a 6d 6f 6e 74 68 20 69 6e 20 74 68 65 73  he.month in thes
1dff0 65 20 73 69 74 75 61 74 69 6f 6e 73 2e 20 20 54  e situations.  T
1e000 68 61 6e 6b 73 20 74 6f 20 48 75 6d 65 20 53 6d  hanks to Hume Sm
1e010 69 74 68 20 66 6f 72 20 73 65 6e 64 69 6e 67 20  ith for sending 
1e020 69 6e 0a 74 68 69 73 20 62 75 67 20 66 69 78 2e  in.this bug fix.
1e030 20 20 28 52 4a 29 0a 0a 32 2f 31 30 2f 39 37 20    (RJ)..2/10/97 
1e040 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29  (feature change)
1e050 20 45 6c 69 6d 69 6e 61 74 65 64 20 54 63 6c 5f   Eliminated Tcl_
1e060 53 74 72 69 6e 67 4f 62 6a 41 70 70 65 6e 64 20  StringObjAppend 
1e070 61 6e 64 20 0a 54 63 6c 5f 53 74 72 69 6e 67 4f  and .Tcl_StringO
1e080 62 6a 41 70 70 65 6e 64 4f 62 6a 20 70 72 6f 63  bjAppendObj proc
1e090 65 64 75 72 65 73 2c 20 72 65 70 6c 61 63 65 64  edures, replaced
1e0a0 20 74 68 65 6d 20 77 69 74 68 20 54 63 6c 5f 41   them with Tcl_A
1e0b0 70 70 65 6e 64 54 6f 4f 62 6a 0a 61 6e 64 20 54  ppendToObj.and T
1e0c0 63 6c 5f 41 70 70 65 6e 64 53 74 72 69 6e 67 73  cl_AppendStrings
1e0d0 54 6f 4f 62 6a 20 70 72 6f 63 65 64 75 72 65 73  ToObj procedures
1e0e0 2e 20 20 41 64 64 65 64 20 6e 65 77 20 70 72 6f  .  Added new pro
1e0f0 63 65 64 75 72 65 0a 54 63 6c 5f 53 65 74 4f 62  cedure.Tcl_SetOb
1e100 6a 4c 65 6e 67 74 68 2e 20 28 4a 4f 29 0a 2a 2a  jLength. (JO).**
1e110 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
1e120 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68  MPATIBILITY with
1e130 20 54 63 6c 20 38 2e 30 61 32 2c 20 62 75 74 20   Tcl 8.0a2, but 
1e140 6e 6f 74 20 77 69 74 68 20 54 63 6c 20 37 2e 36  not with Tcl 7.6
1e150 20 2a 2a 2a 0a 0a 32 2f 31 30 2f 39 37 20 28 6e   ***..2/10/97 (n
1e160 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65  ew feature) Adde
1e170 64 20 54 63 6c 5f 57 72 6f 6e 67 4e 75 6d 41 72  d Tcl_WrongNumAr
1e180 67 73 20 70 72 6f 63 65 64 75 72 65 20 66 6f 72  gs procedure for
1e190 20 67 65 6e 65 72 61 74 69 6e 67 0a 65 72 72 6f   generating.erro
1e1a0 72 20 6d 65 73 73 61 67 65 73 20 61 62 6f 75 74  r messages about
1e1b0 20 69 6e 63 6f 72 72 65 63 74 20 6e 75 6d 62 65   incorrect numbe
1e1c0 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2e 20  r of arguments. 
1e1d0 28 4a 4f 29 0a 0a 32 2f 31 31 2f 39 37 20 28 6e  (JO)..2/11/97 (n
1e1e0 65 77 20 66 65 61 74 75 72 65 2c 20 62 75 67 20  ew feature, bug 
1e1f0 66 69 78 29 20 68 74 74 70 20 70 61 63 6b 61 67  fix) http packag
1e200 65 2e 20 20 41 64 64 65 64 20 2d 61 63 63 65 70  e.  Added -accep
1e210 74 20 74 6f 20 68 74 74 70 5f 63 6f 6e 66 69 67  t to http_config
1e220 0a 73 6f 20 79 6f 75 20 63 61 6e 20 73 65 74 20  .so you can set 
1e230 74 68 65 20 41 63 63 65 70 74 20 68 65 61 64 65  the Accept heade
1e240 72 2e 20 20 41 64 64 65 64 20 2d 68 61 6e 64 6c  r.  Added -handl
1e250 65 72 20 6f 70 74 69 6f 6e 20 74 6f 20 68 74 74  er option to htt
1e260 70 5f 67 65 74 20 73 6f 0a 79 6f 75 20 63 61 6e  p_get so.you can
1e270 20 73 75 70 70 6c 79 20 79 6f 75 72 20 6f 77 6e   supply your own
1e280 20 64 61 74 61 20 68 61 6e 64 6c 65 72 2e 20 20   data handler.  
1e290 41 6c 73 6f 20 66 69 78 65 64 20 50 4f 53 54 20  Also fixed POST 
1e2a0 6f 70 65 72 61 74 69 6f 6e 20 74 6f 0a 73 65 74  operation to.set
1e2b0 20 74 68 65 20 63 6f 72 72 65 63 74 20 4d 49 4d   the correct MIM
1e2c0 45 20 74 79 70 65 20 6f 6e 20 74 68 65 20 72 65  E type on the re
1e2d0 71 75 65 73 74 2e 20 28 42 57 29 0a 0a 32 2f 32  quest. (BW)..2/2
1e2e0 32 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 46  2/97 (bug fix) F
1e2f0 69 78 65 64 20 62 75 67 20 74 68 61 74 20 63 61  ixed bug that ca
1e300 75 73 65 64 20 24 74 63 6c 5f 70 6c 61 74 66 6f  used $tcl_platfo
1e310 72 6d 28 6f 73 56 65 72 73 69 6f 6e 29 20 74 6f  rm(osVersion) to
1e320 20 62 65 0a 63 6f 6d 70 75 74 65 64 20 69 6e 63   be.computed inc
1e330 6f 72 72 65 63 74 6c 79 20 75 6e 64 65 72 20 41  orrectly under A
1e340 49 58 2e 20 28 4a 4f 29 0a 0a 32 2f 32 35 2f 39  IX. (JO)..2/25/9
1e350 37 20 28 6e 65 77 20 66 65 61 74 75 72 65 2c 20  7 (new feature, 
1e360 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20  feature change) 
1e370 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f  Added support fo
1e380 72 20 62 6f 74 68 20 69 6e 74 20 61 6e 64 20 6c  r both int and l
1e390 6f 6e 67 0a 69 6e 74 65 67 65 72 20 6f 62 6a 65  ong.integer obje
1e3a0 63 74 73 2e 20 41 64 64 65 64 20 54 63 6c 5f 4e  cts. Added Tcl_N
1e3b0 65 77 4c 6f 6e 67 4f 62 6a 2f 54 63 6c 5f 47 65  ewLongObj/Tcl_Ge
1e3c0 74 4c 6f 6e 67 46 72 6f 6d 4f 62 6a 2f 54 63 6c  tLongFromObj/Tcl
1e3d0 5f 53 65 74 4c 6f 6e 67 46 72 6f 6d 4f 62 6a 0a  _SetLongFromObj.
1e3e0 70 72 6f 63 65 64 75 72 65 73 20 61 6e 64 20 72  procedures and r
1e3f0 65 6e 61 6d 65 64 20 74 68 65 20 54 63 6c 5f 4f  enamed the Tcl_O
1e400 62 6a 20 69 6e 74 65 72 6e 61 6c 52 65 70 20 69  bj internalRep i
1e410 6e 74 56 61 6c 75 65 20 6d 65 6d 62 65 72 20 74  ntValue member t
1e420 6f 0a 6c 6f 6e 67 56 61 6c 75 65 2e 20 54 63 6c  o.longValue. Tcl
1e430 5f 47 65 74 49 6e 74 46 72 6f 6d 4f 62 6a 20 6e  _GetIntFromObj n
1e440 6f 77 20 63 68 65 63 6b 73 20 66 6f 72 20 69 6e  ow checks for in
1e450 74 65 67 65 72 20 76 61 6c 75 65 73 20 74 6f 6f  teger values too
1e460 20 6c 61 72 67 65 20 74 6f 0a 72 65 70 72 65 73   large to.repres
1e470 65 6e 74 20 61 73 20 6e 6f 6e 2d 6c 6f 6e 67 20  ent as non-long 
1e480 69 6e 74 65 67 65 72 73 2e 20 43 68 61 6e 67 65  integers. Change
1e490 64 20 54 63 6c 5f 47 65 74 41 6c 6c 4f 62 6a 54  d Tcl_GetAllObjT
1e4a0 79 70 65 73 20 74 6f 0a 54 63 6c 5f 41 70 70 65  ypes to.Tcl_Appe
1e4b0 6e 64 41 6c 6c 4f 62 6a 54 79 70 65 73 2e 20 28  ndAllObjTypes. (
1e4c0 42 4c 29 0a 0a 33 2f 35 2f 39 37 20 28 6e 65 77  BL)..3/5/97 (new
1e4d0 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20   feature) Added 
1e4e0 6e 65 77 20 54 63 6c 5f 53 65 74 4c 69 73 74 4f  new Tcl_SetListO
1e4f0 62 6a 20 70 72 6f 63 65 64 75 72 65 20 74 6f 20  bj procedure to 
1e500 72 6f 75 6e 64 20 6f 75 74 0a 63 6f 6c 6c 65 63  round out.collec
1e510 74 69 6f 6e 20 6f 66 20 70 72 6f 63 65 64 75 72  tion of procedur
1e520 65 73 20 74 68 61 74 20 73 65 74 20 74 68 65 20  es that set the 
1e530 74 79 70 65 20 61 6e 64 20 76 61 6c 75 65 20 6f  type and value o
1e540 66 20 65 78 69 73 74 69 6e 67 20 54 63 6c 0a 6f  f existing Tcl.o
1e550 62 6a 65 63 74 73 2e 20 28 42 4c 29 0a 0a 33 2f  bjects. (BL)..3/
1e560 36 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75 72  6/97 (new featur
1e570 65 29 20 41 64 64 65 64 20 2d 67 6c 6f 62 61 6c  e) Added -global
1e580 20 66 6c 61 67 20 66 6f 72 20 69 6e 74 65 72 70   flag for interp
1e590 20 69 6e 76 6f 6b 65 68 69 64 64 65 6e 2e 20 28   invokehidden. (
1e5a0 4a 4c 29 0a 0a 33 2f 36 2f 39 37 20 28 6e 65 77  JL)..3/6/97 (new
1e5b0 20 66 65 61 74 75 72 65 2c 20 66 65 61 74 75 72   feature, featur
1e5c0 65 20 63 68 61 6e 67 65 29 20 41 64 64 65 64 20  e change) Added 
1e5d0 69 73 4e 61 74 69 76 65 4f 62 6a 65 63 74 50 72  isNativeObjectPr
1e5e0 6f 63 20 66 69 65 6c 64 20 74 6f 20 74 68 65 0a  oc field to the.
1e5f0 54 63 6c 5f 43 6d 64 49 6e 66 6f 20 73 74 72 75  Tcl_CmdInfo stru
1e600 63 74 75 72 65 20 74 6f 20 69 6e 64 69 63 61 74  cture to indicat
1e610 65 20 28 77 68 65 6e 20 31 29 20 69 66 20 74 68  e (when 1) if th
1e620 65 20 63 6f 6d 6d 61 6e 64 20 68 61 73 20 61 6e  e command has an
1e630 0a 6f 62 6a 65 63 74 2d 62 61 73 65 64 20 63 6f  .object-based co
1e640 6d 6d 61 6e 64 20 70 72 6f 63 65 64 75 72 65 2e  mmand procedure.
1e650 20 52 65 6d 6f 76 65 64 20 74 68 65 20 6e 61 6d   Removed the nam
1e660 65 4c 65 6e 67 74 68 20 61 72 67 20 66 72 6f 6d  eLength arg from
1e670 0a 54 63 6c 5f 43 72 65 61 74 65 4f 62 6a 43 6f  .Tcl_CreateObjCo
1e680 6d 6d 61 6e 64 20 73 69 6e 63 65 20 63 6f 6d 6d  mmand since comm
1e690 61 6e 64 20 6e 61 6d 65 73 20 63 61 6e 27 74 20  and names can't 
1e6a0 63 6f 6e 74 61 69 6e 20 6e 75 6c 6c 20 63 68 61  contain null cha
1e6b0 72 61 63 74 65 72 73 2e 20 28 42 4c 29 0a 0a 33  racters. (BL)..3
1e6c0 2f 36 2f 39 37 20 28 62 75 67 20 66 69 78 29 20  /6/97 (bug fix) 
1e6d0 46 69 78 65 64 20 62 75 67 20 69 6e 20 22 75 6e  Fixed bug in "un
1e6e0 6b 6e 6f 77 6e 22 20 70 72 6f 63 65 64 75 72 65  known" procedure
1e6f0 20 74 68 61 74 20 63 61 75 73 65 64 20 61 75 74   that caused aut
1e700 6f 2d 0a 6c 6f 61 64 69 6e 67 20 74 6f 20 66 61  o-.loading to fa
1e710 69 6c 20 6f 6e 20 63 6f 6d 6d 61 6e 64 73 20 77  il on commands w
1e720 68 6f 73 65 20 6e 61 6d 65 73 20 62 65 67 69 6e  hose names begin
1e730 20 77 69 74 68 20 64 69 67 69 74 73 2e 20 28 4a   with digits. (J
1e740 4f 29 0a 0a 33 2f 37 2f 39 37 20 28 62 75 67 20  O)..3/7/97 (bug 
1e750 66 69 78 29 20 41 75 74 6f 2d 6c 6f 61 64 69 6e  fix) Auto-loadin
1e760 67 20 6e 6f 77 20 77 6f 72 6b 73 20 69 6e 20 53  g now works in S
1e770 61 66 65 20 42 61 73 65 2e 20 53 61 66 65 20 69  afe Base. Safe i
1e780 6e 74 65 72 70 72 65 74 65 72 73 0a 6f 6e 6c 79  nterpreters.only
1e790 20 61 63 63 65 70 74 20 74 68 65 20 56 65 72 73   accept the Vers
1e7a0 69 6f 6e 20 32 20 61 6e 64 20 6f 6e 77 61 72 64  ion 2 and onward
1e7b0 73 20 74 63 6c 49 6e 64 65 78 20 66 69 6c 65 73  s tclIndex files
1e7c0 2e 20 28 4a 4c 29 0a 0a 33 2f 31 33 2f 39 37 20  . (JL)..3/13/97 
1e7d0 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
1e7e0 63 6f 72 65 20 64 75 6d 70 20 64 75 65 20 74 6f  core dump due to
1e7f0 20 69 6e 74 65 72 61 63 74 69 6f 6e 20 62 65 74   interaction bet
1e800 77 65 65 6e 20 61 6c 69 61 73 65 73 20 61 6e 64  ween aliases and
1e810 0a 68 69 64 64 65 6e 20 63 6f 6d 6d 61 6e 64 73  .hidden commands
1e820 2e 20 42 75 67 20 66 6f 75 6e 64 20 62 79 20 4c  . Bug found by L
1e830 69 6e 64 73 61 79 20 4d 61 72 73 68 61 6c 6c 2e  indsay Marshall.
1e840 20 28 4a 4c 29 0a 0a 33 2f 31 34 2f 39 37 20 28   (JL)..3/14/97 (
1e850 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 6d  bug fix) Fixed m
1e860 61 63 20 62 75 67 73 20 72 65 6c 61 74 69 6e 67  ac bugs relating
1e870 20 74 6f 20 74 69 6d 65 2e 20 20 54 68 65 20 2d   to time.  The -
1e880 67 6d 74 20 6f 70 74 69 6f 6e 0a 6e 6f 77 20 61  gmt option.now a
1e890 64 6a 75 73 74 73 20 74 68 65 20 74 69 6d 65 20  djusts the time 
1e8a0 69 6e 20 74 68 65 20 63 6f 72 72 65 63 74 20 64  in the correct d
1e8b0 69 72 65 63 74 69 6f 6e 2e 20 20 28 54 68 61 6e  irection.  (Than
1e8c0 6b 73 20 74 6f 20 45 64 20 48 75 6d 65 20 66 6f  ks to Ed Hume fo
1e8d0 72 0a 72 65 70 6f 72 74 69 6e 67 20 61 20 66 69  r.reporting a fi
1e8e0 78 20 74 6f 20 74 68 69 73 20 70 72 6f 62 6c 65  x to this proble
1e8f0 6d 2e 29 20 20 41 6c 73 6f 20 66 69 78 65 64 20  m.)  Also fixed 
1e900 66 69 6c 65 20 22 6d 74 69 6d 65 22 20 65 74 63  file "mtime" etc
1e910 2e 20 74 6f 0a 72 65 74 75 72 6e 20 74 69 6d 65  . to.return time
1e920 73 20 66 72 6f 6d 20 47 4d 54 20 72 61 74 68 65  s from GMT rathe
1e930 72 20 74 68 61 6e 20 6c 6f 63 61 6c 20 74 69 6d  r than local tim
1e940 65 20 7a 6f 6e 65 2e 20 20 28 52 4a 29 0a 0a 33  e zone.  (RJ)..3
1e950 2f 31 38 2f 39 37 20 28 66 65 61 74 75 72 65 20  /18/97 (feature 
1e960 63 68 61 6e 67 65 29 20 44 65 63 6c 61 72 61 74  change) Declarat
1e970 69 6f 6e 20 6f 66 20 6f 62 6a 76 20 69 6e 20 54  ion of objv in T
1e980 63 6c 5f 4f 62 6a 43 6d 64 50 72 6f 63 20 66 75  cl_ObjCmdProc fu
1e990 6e 63 74 69 6f 6e 0a 63 68 61 6e 67 65 64 20 66  nction.changed f
1e9a0 72 6f 6d 20 22 54 63 6c 5f 4f 62 6a 20 2a 6f 62  rom "Tcl_Obj *ob
1e9b0 6a 76 5b 5d 22 20 74 6f 20 22 54 63 6c 5f 4f 62  jv[]" to "Tcl_Ob
1e9c0 6a 20 2a 43 4f 4e 53 54 20 6f 62 6a 76 5b 5d 22  j *CONST objv[]"
1e9d0 2e 20 20 41 6c 6c 20 54 63 6c 20 6f 62 6a 65 63  .  All Tcl objec
1e9e0 74 0a 63 6f 6d 6d 61 6e 64 73 20 63 68 61 6e 67  t.commands chang
1e9f0 65 64 20 74 6f 20 75 73 65 20 6e 65 77 20 64 65  ed to use new de
1ea00 63 6c 61 72 61 74 69 6f 6e 20 6f 66 20 6f 62 6a  claration of obj
1ea10 76 2e 20 20 4e 61 69 76 65 20 74 72 61 6e 73 6c  v.  Naive transl
1ea20 61 74 69 6f 6e 20 6f 66 0a 73 74 72 69 6e 67 2d  ation of.string-
1ea30 62 61 73 65 64 20 63 6f 6d 6d 61 6e 64 20 70 72  based command pr
1ea40 6f 63 73 20 74 6f 20 6f 62 6a 65 63 74 2d 62 61  ocs to object-ba
1ea50 73 65 64 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 63  sed command proc
1ea60 73 20 63 6f 75 6c 64 20 76 65 72 79 20 65 61 73  s could very eas
1ea70 69 6c 79 0a 68 61 76 65 20 79 69 65 6c 64 65 64  ily.have yielded
1ea80 20 63 6f 64 65 20 77 68 65 72 65 20 74 68 65 20   code where the 
1ea90 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20  contents of the 
1eaa0 6f 62 6a 76 20 61 72 72 61 79 20 77 65 72 65 20  objv array were 
1eab0 63 68 61 6e 67 65 64 2e 20 20 54 68 69 73 0a 69  changed.  This.i
1eac0 73 20 6e 6f 74 20 61 20 70 72 6f 62 6c 65 6d 20  s not a problem 
1ead0 77 69 74 68 20 73 74 72 69 6e 67 2d 62 61 73 65  with string-base
1eae0 64 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 63 73 2c  d command procs,
1eaf0 20 62 75 74 20 64 6f 69 6e 67 20 73 6f 6d 65 74   but doing somet
1eb00 68 69 6e 67 20 61 73 0a 73 69 6d 70 6c 65 20 61  hing as.simple a
1eb10 73 20 6f 62 6a 76 5b 32 5d 20 3d 20 6f 62 6a 76  s objv[2] = objv
1eb20 5b 33 5d 20 77 6f 75 6c 64 20 63 6f 72 72 75 70  [3] would corrup
1eb30 74 20 74 68 65 20 72 75 6e 74 69 6d 65 20 73 74  t the runtime st
1eb40 61 63 6b 20 61 6e 64 20 63 61 75 73 65 20 54 63  ack and cause Tc
1eb50 6c 20 74 6f 0a 63 72 61 73 68 2e 20 20 49 6e 74  l to.crash.  Int
1eb60 72 6f 64 75 63 65 64 20 43 4f 4e 53 54 20 69 6e  roduced CONST in
1eb70 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6f 66 20   declaration of 
1eb80 6f 62 6a 76 20 73 6f 20 74 68 61 74 20 61 74 74  objv so that att
1eb90 65 6d 70 74 65 64 20 61 73 73 69 67 6e 6d 65 6e  empted assignmen
1eba0 74 0a 6f 66 20 6e 65 77 20 70 6f 69 6e 74 65 72  t.of new pointer
1ebb0 20 76 61 6c 75 65 73 20 74 6f 20 65 6c 65 6d 65   values to eleme
1ebc0 6e 74 73 20 6f 66 20 74 68 65 20 6f 62 6a 76 20  nts of the objv 
1ebd0 61 72 72 61 79 20 77 69 6c 6c 20 62 65 20 63 61  array will be ca
1ebe0 75 67 68 74 20 62 79 20 74 68 65 0a 63 6f 6d 70  ught by the.comp
1ebf0 69 6c 65 72 2e 20 28 43 43 53 29 0a 2a 2a 2a 20  iler. (CCS).*** 
1ec00 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
1ec10 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54  ATIBILITY with T
1ec20 63 6c 20 38 2e 30 61 32 20 2a 2a 2a 0a 0a 33 2f  cl 8.0a2 ***..3/
1ec30 31 39 2f 39 37 20 28 62 75 67 20 66 69 78 29 20  19/97 (bug fix) 
1ec40 46 69 78 65 64 20 70 61 6e 69 63 20 64 75 65 20  Fixed panic due 
1ec50 74 6f 20 6f 62 6a 65 63 74 20 73 68 61 72 69 6e  to object sharin
1ec60 67 2e 20 54 68 65 20 72 6f 6f 74 20 63 61 75 73  g. The root caus
1ec70 65 20 77 61 73 0a 74 68 61 74 20 6f 6c 64 20 63  e was.that old c
1ec80 6f 64 65 20 77 61 73 20 75 73 69 6e 67 20 54 63  ode was using Tc
1ec90 6c 5f 52 65 73 65 74 52 65 73 75 6c 74 20 69 6e  l_ResetResult in
1eca0 73 74 65 61 64 20 6f 66 20 54 63 6c 5f 52 65 73  stead of Tcl_Res
1ecb0 65 74 4f 62 6a 52 65 73 75 6c 74 2e 20 28 4a 4c  etObjResult. (JL
1ecc0 29 0a 0a 33 2f 32 30 2f 39 37 20 28 6e 65 77 20  )..3/20/97 (new 
1ecd0 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 61  feature) Added a
1ece0 20 6e 65 77 20 73 75 62 63 6f 6d 6d 61 6e 64 20   new subcommand 
1ecf0 66 6f 72 20 74 68 65 20 66 69 6c 65 0a 63 6f 6d  for the file.com
1ed00 6d 61 6e 64 2e 20 66 69 6c 65 20 61 74 74 72 69  mand. file attri
1ed10 62 75 74 65 73 20 66 69 6c 65 6e 61 6d 65 20 63  butes filename c
1ed20 61 6e 20 67 69 76 65 20 61 20 6c 69 73 74 20 6f  an give a list o
1ed30 66 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69  f platform-speci
1ed40 66 69 63 0a 6f 70 74 69 6f 6e 73 20 28 73 75 63  fic.options (suc
1ed50 68 20 61 73 20 66 69 6c 65 2f 63 72 65 61 74 6f  h as file/creato
1ed60 72 20 74 79 70 65 20 6f 6e 20 74 68 65 20 4d 61  r type on the Ma
1ed70 63 2c 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 6f  c, permissions o
1ed80 6e 20 55 6e 69 78 29 20 6f 72 0a 73 65 74 20 74  n Unix) or.set t
1ed90 68 65 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65  he values of the
1eda0 6d 2e 20 41 64 64 65 64 20 61 20 6e 65 77 20 73  m. Added a new s
1edb0 75 62 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 74 68  ubcommand for th
1edc0 65 20 66 69 6c 65 0a 63 6f 6d 6d 61 6e 64 2e 20  e file.command. 
1edd0 66 69 6c 65 20 6e 61 74 69 76 65 6e 61 6d 65 20  file nativename 
1ede0 6e 61 6d 65 20 67 69 76 65 73 20 62 61 63 6b 20  name gives back 
1edf0 74 68 65 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65  the platform-spe
1ee00 63 69 66 69 63 20 66 6f 72 6d 0a 66 6f 72 20 74  cific form.for t
1ee10 68 65 20 66 69 6c 65 2e 20 54 68 69 73 20 69 73  he file. This is
1ee20 20 75 73 65 66 75 6c 20 77 68 65 6e 20 74 68 65   useful when the
1ee30 20 66 69 6c 65 6e 61 6d 65 20 69 73 20 6e 65 65   filename is nee
1ee40 64 65 64 20 74 6f 20 70 61 73 73 20 74 6f 0a 74  ded to pass to.t
1ee50 68 65 20 4f 53 2c 20 73 75 63 68 20 61 73 20 65  he OS, such as e
1ee60 78 65 63 20 75 6e 64 65 72 20 57 69 6e 64 6f 77  xec under Window
1ee70 73 20 39 35 20 6f 72 20 41 70 70 6c 65 53 63 72  s 95 or AppleScr
1ee80 69 70 74 20 6f 6e 20 74 68 65 20 4d 61 63 2e 20  ipt on the Mac. 
1ee90 46 6f 72 0a 6d 6f 72 65 20 69 6e 66 6f 2c 20 73  For.more info, s
1eea0 65 65 20 66 69 6c 65 2e 6e 2e 20 28 53 52 50 29  ee file.n. (SRP)
1eeb0 0a 0a 33 2f 32 34 2f 39 37 20 28 72 65 6d 6f 76  ..3/24/97 (remov
1eec0 65 64 20 66 65 61 74 75 72 65 29 20 52 65 6d 6f  ed feature) Remo
1eed0 76 65 64 20 74 68 65 20 74 63 6c 5f 73 61 66 65  ved the tcl_safe
1eee0 50 6f 6c 69 63 79 50 61 74 68 20 70 72 6f 63 65  PolicyPath proce
1eef0 64 75 72 65 2e 20 4e 6f 77 0a 74 68 65 20 70 6f  dure. Now.the po
1ef00 6c 69 63 79 20 70 61 74 68 20 69 73 20 63 6f 6d  licy path is com
1ef10 70 75 74 65 64 20 66 72 6f 6d 20 74 68 65 20 61  puted from the a
1ef20 75 74 6f 5f 70 61 74 68 20 62 79 20 61 70 70 65  uto_path by appe
1ef30 6e 64 69 6e 67 20 74 68 65 20 64 69 72 65 63 74  nding the direct
1ef40 6f 72 79 0a 27 70 6f 6c 69 63 69 65 73 27 20 74  ory.'policies' t
1ef50 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 2e 20  o each element. 
1ef60 41 6c 73 6f 20 66 69 78 65 64 20 73 65 76 65 72  Also fixed sever
1ef70 61 6c 20 62 75 67 73 20 69 6e 20 61 75 74 6f 6d  al bugs in autom
1ef80 61 74 69 63 20 74 72 61 63 6b 69 6e 67 0a 6f 66  atic tracking.of
1ef90 20 61 75 74 6f 5f 70 61 74 68 20 62 79 20 63 6f   auto_path by co
1efa0 6d 70 75 74 65 64 20 70 6f 6c 69 63 79 20 70 61  mputed policy pa
1efb0 74 68 2e 20 28 4a 4c 29 0a 2a 2a 2a 20 50 4f 54  th. (JL).*** POT
1efc0 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
1efd0 42 49 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20  BILITY with Tcl 
1efe0 38 2e 30 61 32 20 62 75 74 20 6e 6f 74 20 77 69  8.0a2 but not wi
1eff0 74 68 20 54 63 6c 20 37 2e 36 20 2a 2a 2a 0a 0a  th Tcl 7.6 ***..
1f000 34 2f 38 2f 39 37 20 28 6e 65 77 20 66 65 61 74  4/8/97 (new feat
1f010 75 72 65 29 20 49 66 20 74 68 65 20 76 61 72 69  ure) If the vari
1f020 61 62 6c 65 20 77 68 6f 73 65 20 6e 61 6d 65 20  able whose name 
1f030 69 73 20 70 61 73 73 65 64 20 74 6f 20 6c 61 70  is passed to lap
1f040 70 65 6e 64 20 64 6f 65 73 6e 27 74 0a 61 6c 72  pend doesn't.alr
1f050 65 61 64 79 20 65 78 69 73 74 2c 20 61 6e 64 20  eady exist, and 
1f060 74 68 65 72 65 20 61 72 65 20 6e 6f 20 76 61 6c  there are no val
1f070 75 65 20 61 72 67 75 6d 65 6e 74 73 2c 20 6c 61  ue arguments, la
1f080 70 70 65 6e 64 20 6e 6f 77 20 63 72 65 61 74 65  ppend now create
1f090 73 20 74 68 65 0a 76 61 72 69 61 62 6c 65 20 77  s the.variable w
1f0a0 69 74 68 20 61 6e 20 65 6d 70 74 79 20 76 61 6c  ith an empty val
1f0b0 75 65 20 69 6e 73 74 65 61 64 20 6f 66 20 72 65  ue instead of re
1f0c0 74 75 72 6e 69 6e 67 20 61 6e 20 65 72 72 6f 72  turning an error
1f0d0 2e 20 43 68 61 6e 67 65 20 73 75 67 67 65 73 74  . Change suggest
1f0e0 65 64 0a 62 79 20 54 6f 6d 20 54 72 6f 6d 65 79  ed.by Tom Tromey
1f0f0 2e 20 28 42 4c 29 0a 0a 34 2f 39 2f 39 37 20 28  . (BL)..4/9/97 (
1f100 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20  feature change) 
1f110 43 68 61 6e 67 65 64 20 74 68 65 20 6e 61 6d 65  Changed the name
1f120 20 6f 66 20 74 68 65 20 54 43 4c 5f 50 41 52 54   of the TCL_PART
1f130 31 5f 4e 4f 54 5f 50 41 52 53 45 44 20 66 6c 61  1_NOT_PARSED fla
1f140 67 20 74 6f 0a 54 43 4c 5f 50 41 52 53 45 5f 50  g to.TCL_PARSE_P
1f150 41 52 54 31 2e 20 28 42 4c 29 0a 2a 2a 2a 20 50  ART1. (BL).*** P
1f160 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41  OTENTIAL INCOMPA
1f170 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54 63  TIBILITY with Tc
1f180 6c 20 38 2e 30 61 32 20 62 75 74 20 6e 6f 74 20  l 8.0a2 but not 
1f190 77 69 74 68 20 54 63 6c 20 37 2e 36 20 2a 2a 2a  with Tcl 7.6 ***
1f1a0 0a 0a 34 2f 31 30 2f 39 37 20 28 62 75 67 20 66  ..4/10/97 (bug f
1f1b0 69 78 65 73 29 20 46 69 78 65 64 20 76 61 72 69  ixes) Fixed vari
1f1c0 6f 75 73 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2d  ous compilation-
1f1d0 72 65 6c 61 74 65 64 20 62 75 67 73 3a 0a 20 20  related bugs:.  
1f1e0 20 20 2d 20 22 55 70 64 61 74 65 53 74 72 69 6e    - "UpdateStrin
1f1f0 67 4f 66 43 6d 64 4e 61 6d 65 20 73 68 6f 75 6c  gOfCmdName shoul
1f200 64 20 6e 65 76 65 72 20 62 65 20 69 6e 76 6f 6b  d never be invok
1f210 65 64 22 20 70 61 6e 69 63 2e 0a 20 20 20 20 2d  ed" panic..    -
1f220 20 42 61 64 20 63 6f 64 65 20 67 65 6e 65 72 61   Bad code genera
1f230 74 65 64 20 66 6f 72 20 65 78 70 72 65 73 73 69  ted for expressi
1f240 6f 6e 73 20 6e 6f 74 20 69 6e 20 7b 7d 27 73 20  ons not in {}'s 
1f250 69 6e 73 69 64 65 20 63 61 74 63 68 20 63 6f 6d  inside catch com
1f260 6d 61 6e 64 73 2e 0a 20 20 20 20 2d 20 53 65 67  mands..    - Seg
1f270 6d 65 6e 74 61 74 69 6f 6e 20 66 61 75 6c 74 20  mentation fault 
1f280 69 6e 20 73 6f 6d 65 20 63 6f 6d 6d 61 6e 64 20  in some command 
1f290 70 72 6f 63 65 64 75 72 65 73 20 77 68 65 6e 20  procedures when 
1f2a0 74 77 6f 20 61 72 67 75 6d 65 6e 74 0a 20 20 20  two argument.   
1f2b0 20 20 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65     object pointe
1f2c0 72 73 20 72 65 66 65 72 20 74 6f 20 74 68 65 20  rs refer to the 
1f2d0 73 61 6d 65 20 6f 62 6a 65 63 74 2e 0a 20 20 20  same object..   
1f2e0 20 2d 20 53 65 63 6f 6e 64 20 6c 65 76 65 6c 20   - Second level 
1f2f0 6f 66 20 73 75 62 73 74 69 74 75 74 69 6f 6e 73  of substitutions
1f300 20 77 65 72 65 20 6e 65 76 65 72 20 64 6f 6e 65   were never done
1f310 20 66 6f 72 20 65 78 70 72 65 73 73 69 6f 6e 73   for expressions
1f320 20 6e 6f 74 0a 20 20 20 20 20 20 69 6e 20 7b 7d   not.      in {}
1f330 27 73 20 74 68 61 74 20 63 6f 6e 73 69 73 74 20  's that consist 
1f340 6f 66 20 61 20 73 69 6e 67 6c 65 20 76 61 72 69  of a single vari
1f350 61 62 6c 65 20 72 65 66 65 72 65 6e 63 65 3a 20  able reference: 
1f360 65 2e 67 2e 2c 0a 20 20 20 20 20 20 22 73 65 74  e.g.,.      "set
1f370 20 78 20 32 37 3b 20 73 65 74 20 62 6f 6f 6c 20   x 27; set bool 
1f380 7b 24 78 7d 3b 20 69 66 20 24 62 6f 6f 6c 20 7b  {$x}; if $bool {
1f390 70 75 74 73 20 66 6f 6f 7d 22 20 77 6f 75 6c 64  puts foo}" would
1f3a0 20 66 61 69 6c 20 77 69 74 68 20 65 72 72 6f 72   fail with error
1f3b0 2e 0a 20 20 20 20 2d 20 42 61 64 20 63 6f 64 65  ..    - Bad code
1f3c0 20 67 65 6e 65 72 61 74 65 64 20 77 68 65 6e 20   generated when 
1f3d0 63 6f 64 65 20 73 74 6f 72 61 67 65 20 77 61 73  code storage was
1f3e0 20 67 72 6f 77 6e 20 77 68 69 6c 65 20 63 6f 6d   grown while com
1f3f0 70 69 6c 69 6e 67 20 73 6f 6d 65 0a 20 20 20 20  piling some.    
1f400 20 20 65 78 70 72 65 73 73 69 6f 6e 73 3a 20 6f    expressions: o
1f410 6e 65 73 20 77 69 74 68 20 63 6f 6d 70 69 6c 61  nes with compila
1f420 74 69 6f 6e 20 65 72 72 6f 72 73 20 6f 72 20 63  tion errors or c
1f430 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 6f 6e 6c  onsisting of onl
1f440 79 20 61 0a 20 20 20 20 20 20 76 61 72 69 61 62  y a.      variab
1f450 6c 65 20 72 65 66 65 72 65 6e 63 65 2e 0a 20 20  le reference..  
1f460 20 20 2d 20 42 75 67 73 20 69 6e 76 6f 6c 76 69    - Bugs involvi
1f470 6e 67 20 6d 75 6c 74 69 70 6c 65 20 69 6e 74 65  ng multiple inte
1f480 72 70 72 65 74 65 72 73 3a 20 77 61 73 6e 27 74  rpreters: wasn't
1f490 20 63 68 65 63 6b 69 6e 67 20 74 68 61 74 20 61   checking that a
1f4a0 0a 20 20 20 20 20 20 70 72 6f 63 65 64 75 72 65  .      procedure
1f4b0 27 73 20 63 6f 64 65 20 77 61 73 20 63 6f 6d 70  's code was comp
1f4c0 69 6c 65 64 20 66 6f 72 20 74 68 65 20 73 61 6d  iled for the sam
1f4d0 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 61 73  e interpreter as
1f4e0 20 74 68 65 20 6f 6e 65 0a 20 20 20 20 20 20 65   the one.      e
1f4f0 78 65 63 75 74 69 6e 67 20 69 74 2c 20 61 6e 64  xecuting it, and
1f500 20 64 69 64 6e 27 74 20 69 6e 76 61 6c 69 64 61   didn't invalida
1f510 74 65 20 63 6f 64 65 20 6f 6e 20 68 69 64 64 65  te code on hidde
1f520 6e 2d 65 78 70 6f 73 65 64 20 63 6f 6d 6d 61 6e  n-exposed comman
1f530 64 0a 20 20 20 20 20 20 74 72 61 6e 73 69 74 69  d.      transiti
1f540 6f 6e 73 2e 0a 20 20 20 20 2d 20 22 42 61 64 20  ons..    - "Bad 
1f550 73 74 61 63 6b 20 74 6f 70 22 20 70 61 6e 69 63  stack top" panic
1f560 20 77 68 65 6e 20 65 78 65 63 75 74 69 6e 67 20   when executing 
1f570 73 63 72 69 70 74 73 20 74 68 61 74 20 72 65 71  scripts that req
1f580 75 69 72 65 20 61 20 68 75 67 65 0a 20 20 20 20  uire a huge.    
1f590 20 20 61 6d 6f 75 6e 74 20 6f 66 20 73 74 61 63    amount of stac
1f5a0 6b 20 73 70 61 63 65 2e 0a 20 20 20 20 2d 20 49  k space..    - I
1f5b0 6e 63 6f 72 72 65 63 74 20 73 68 61 72 69 6e 67  ncorrect sharing
1f5c0 20 6f 66 20 63 6f 64 65 20 66 6f 72 20 70 72 6f   of code for pro
1f5d0 63 65 64 75 72 65 20 62 6f 64 69 65 73 2c 20 61  cedure bodies, a
1f5e0 6e 64 20 70 72 6f 63 65 64 75 72 65 20 63 6f 64  nd procedure cod
1f5f0 65 0a 20 20 20 20 20 20 64 65 61 6c 6c 6f 63 61  e.      dealloca
1f600 74 65 64 20 62 65 66 6f 72 65 20 6c 61 73 74 20  ted before last 
1f610 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 74 68 65  execution of the
1f620 20 70 72 6f 63 65 64 75 72 65 20 66 69 6e 69 73   procedure finis
1f630 68 65 64 2e 0a 20 20 20 20 2d 20 46 69 78 65 64  hed..    - Fixed
1f640 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20   compilation of 
1f650 65 78 70 72 65 73 73 69 6f 6e 20 77 6f 72 64 73  expression words
1f660 20 69 6e 20 71 75 6f 74 65 73 2e 20 46 6f 72 20   in quotes. For 
1f670 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 69  example,.      i
1f680 66 20 22 30 20 3c 20 33 22 20 7b 70 75 74 73 20  f "0 < 3" {puts 
1f690 66 6f 6f 7d 2e 0a 20 20 20 20 2d 20 46 69 78 65  foo}..    - Fixe
1f6a0 64 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 62 75  d performance bu
1f6b0 67 20 69 6e 20 61 72 72 61 79 20 73 65 74 20 63  g in array set c
1f6c0 6f 6d 6d 61 6e 64 20 77 69 74 68 20 6c 61 72 67  ommand with larg
1f6d0 65 20 61 73 73 69 67 6e 6d 65 6e 74 73 2e 0a 20  e assignments.. 
1f6e0 20 20 20 2d 20 54 63 6c 5f 53 65 74 4f 62 6a 4c     - Tcl_SetObjL
1f6f0 65 6e 67 74 68 20 73 65 67 6d 65 6e 74 61 74 69  ength segmentati
1f700 6f 6e 20 66 61 75 6c 74 20 73 65 74 74 69 6e 67  on fault setting
1f710 20 6c 65 6e 67 74 68 20 6f 66 20 65 6d 70 74 79   length of empty
1f720 20 6f 62 6a 65 63 74 2e 0a 20 20 20 20 2d 20 49   object..    - I
1f730 66 20 54 63 6c 5f 53 65 74 4f 62 6a 65 63 74 52  f Tcl_SetObjectR
1f740 65 73 75 6c 74 20 77 61 73 20 70 61 73 73 65 64  esult was passed
1f750 20 74 68 65 20 73 61 6d 65 20 6f 62 6a 65 63 74   the same object
1f760 20 61 73 20 74 68 65 20 69 6e 74 65 72 70 72 65   as the interpre
1f770 74 65 72 27 73 0a 20 20 20 20 20 20 72 65 73 75  ter's.      resu
1f780 6c 74 20 6f 62 6a 65 63 74 2c 20 69 74 20 66 72  lt object, it fr
1f790 65 65 64 20 74 68 65 20 6f 62 6a 65 63 74 20 69  eed the object i
1f7a0 6e 73 74 65 61 64 20 6f 66 20 64 6f 69 6e 67 20  nstead of doing 
1f7b0 6e 6f 74 68 69 6e 67 2e 20 42 75 67 20 66 69 78  nothing. Bug fix
1f7c0 0a 20 20 20 20 20 20 62 79 20 4d 69 63 68 61 65  .      by Michae
1f7d0 6c 20 4a 2e 20 4d 63 4c 65 6e 6e 61 6e 2e 0a 20  l J. McLennan.. 
1f7e0 20 20 20 2d 20 54 63 6c 5f 4c 69 73 74 4f 62 6a     - Tcl_ListObj
1f7f0 41 70 70 65 6e 64 4c 69 73 74 20 69 6e 73 65 72  AppendList inser
1f800 74 65 64 20 65 6c 65 6d 65 6e 74 73 20 66 72 6f  ted elements fro
1f810 6d 20 74 68 65 20 77 72 6f 6e 67 20 6c 69 73 74  m the wrong list
1f820 2e 20 42 75 67 20 66 69 78 0a 20 20 20 20 20 20  . Bug fix.      
1f830 62 79 20 4d 69 63 68 61 65 6c 20 4a 2e 20 4d 63  by Michael J. Mc
1f840 4c 65 6e 6e 61 6e 2e 0a 20 20 20 20 2d 20 53 65  Lennan..    - Se
1f850 67 6d 65 6e 74 61 74 69 6f 6e 20 66 61 75 6c 74  gmentation fault
1f860 20 69 66 20 65 6d 70 74 79 20 76 61 72 69 61 62   if empty variab
1f870 6c 65 20 6c 69 73 74 20 77 61 73 20 73 70 65 63  le list was spec
1f880 69 66 69 65 64 20 69 6e 20 61 20 66 6f 72 65 61  ified in a forea
1f890 63 68 0a 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64  ch.      command
1f8a0 2e 20 42 75 67 20 66 69 78 20 62 79 20 4a 61 6e  . Bug fix by Jan
1f8b0 20 4e 69 6a 74 6d 61 6e 73 2e 0a 20 20 20 20 2d   Nijtmans..    -
1f8c0 20 4e 55 4c 4c 20 63 6f 6d 6d 61 6e 64 20 6e 61   NULL command na
1f8d0 6d 65 20 77 61 73 20 61 6c 77 61 79 73 20 70 61  me was always pa
1f8e0 73 73 65 64 20 74 6f 20 54 63 6c 5f 43 72 65 61  ssed to Tcl_Crea
1f8f0 74 65 54 72 61 63 65 20 63 61 6c 6c 62 61 63 6b  teTrace callback
1f900 0a 20 20 20 20 20 20 70 72 6f 63 65 64 75 72 65  .      procedure
1f910 2e 0a 20 20 20 20 2d 20 57 72 6f 6e 67 20 73 74  ..    - Wrong st
1f920 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74  ring representat
1f930 69 6f 6e 20 67 65 6e 65 72 61 74 65 64 20 66 6f  ion generated fo
1f940 72 20 74 68 65 20 76 61 6c 75 65 20 4c 4f 4e 47  r the value LONG
1f950 5f 4d 49 4e 2e 0a 20 20 20 20 20 20 46 6f 72 20  _MIN..      For 
1f960 65 78 61 6d 70 6c 65 2c 20 65 78 70 72 20 31 3c  example, expr 1<
1f970 3c 33 31 20 70 72 69 6e 74 65 64 20 69 6e 63 6f  <31 printed inco
1f980 72 72 65 63 74 6c 79 20 6f 6e 20 61 20 33 32 20  rrectly on a 32 
1f990 62 69 74 20 6d 61 63 68 69 6e 65 2e 0a 20 20 20  bit machine..   
1f9a0 20 2d 20 22 73 65 74 20 7b 61 28 24 78 29 7d 20   - "set {a($x)} 
1f9b0 31 22 20 73 74 6f 72 65 64 20 76 61 6c 75 65 20  1" stored value 
1f9c0 69 6e 20 77 72 6f 6e 67 20 76 61 72 69 61 62 6c  in wrong variabl
1f9d0 65 2e 0a 20 20 20 20 2d 20 54 63 6c 5f 47 65 74  e..    - Tcl_Get
1f9e0 42 6f 6f 6c 65 61 6e 46 72 6f 6d 4f 62 6a 20 77  BooleanFromObj w
1f9f0 61 73 20 6e 6f 74 20 63 68 65 63 6b 69 6e 67 20  as not checking 
1fa00 66 6f 72 20 67 61 72 62 61 67 65 20 61 66 74 65  for garbage afte
1fa10 72 20 61 20 6e 75 6d 65 72 69 63 0a 20 20 20 20  r a numeric.    
1fa20 20 20 76 61 6c 75 65 2e 0a 20 20 20 20 2d 20 47    value..    - G
1fa30 61 72 62 6c 65 64 20 22 62 61 64 20 6f 70 65 72  arbled "bad oper
1fa40 61 6e 64 20 74 79 70 65 22 20 65 72 72 6f 72 20  and type" error 
1fa50 6d 65 73 73 61 67 65 20 77 68 65 6e 20 65 76 61  message when eva
1fa60 6c 75 61 74 69 6e 67 20 65 78 70 72 65 73 73 69  luating expressi
1fa70 6f 6e 73 0a 20 20 20 20 20 20 6e 6f 74 20 73 75  ons.      not su
1fa80 72 72 6f 75 6e 64 65 64 20 62 79 20 7b 7d 27 73  rrounded by {}'s
1fa90 2e 20 28 42 4c 29 0a 0a 34 2f 31 36 2f 39 37 20  . (BL)..4/16/97 
1faa0 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 54 68  (new feature) Th
1fab0 65 20 65 78 70 72 20 63 6f 6d 6d 61 6e 64 20 6e  e expr command n
1fac0 6f 77 20 68 61 73 20 74 68 65 20 22 72 61 6e 64  ow has the "rand
1fad0 28 29 22 20 61 6e 64 0a 22 73 72 61 6e 64 28 29  ()" and."srand()
1fae0 22 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20  " functions for 
1faf0 67 65 74 74 69 6e 67 20 72 61 6e 64 6f 6d 20 6e  getting random n
1fb00 75 6d 62 65 72 73 20 69 6e 20 65 78 70 72 2e 20  umbers in expr. 
1fb10 28 52 4a 29 0a 0a 34 2f 32 33 2f 39 37 20 28 62  (RJ)..4/23/97 (b
1fb20 75 67 20 66 69 78 29 20 46 69 78 65 64 20 63 6f  ug fix) Fixed co
1fb30 72 65 20 64 75 6d 70 20 69 6e 20 62 67 65 72 72  re dump in bgerr
1fb40 6f 72 20 77 68 65 6e 20 74 68 65 20 65 72 72 6f  or when the erro
1fb50 72 20 68 61 6e 64 6c 65 72 20 63 6f 6d 6d 61 6e  r handler comman
1fb60 64 0a 64 65 6c 65 74 65 73 20 74 68 65 20 63 75  d.deletes the cu
1fb70 72 72 65 6e 74 20 69 6e 74 65 72 70 72 65 74 65  rrent interprete
1fb80 72 2e 20 46 6f 75 6e 64 20 62 79 20 4a 75 65 72  r. Found by Juer
1fb90 67 65 6e 20 53 63 68 6f 65 6e 77 61 6c 64 2e 20  gen Schoenwald. 
1fba0 28 4a 4c 29 0a 0a 34 2f 32 33 2f 39 37 20 28 66  (JL)..4/23/97 (f
1fbb0 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 54  eature change) T
1fbc0 68 65 20 6e 6f 74 69 66 69 65 72 20 69 6e 74 65  he notifier inte
1fbd0 72 66 61 63 65 73 20 68 61 76 65 20 62 65 65 6e  rfaces have been
1fbe0 20 72 65 64 65 73 69 67 6e 65 64 0a 74 6f 20 6d   redesigned.to m
1fbf0 61 6b 65 20 65 6d 62 65 64 64 69 6e 67 20 69 6e  ake embedding in
1fc00 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 77 69   applications wi
1fc10 74 68 20 65 78 74 65 72 6e 61 6c 20 65 76 65 6e  th external even
1fc20 74 20 6c 6f 6f 70 73 20 70 6f 73 73 69 62 6c 65  t loops possible
1fc30 2e 0a 41 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e  ..A number of in
1fc40 74 65 72 66 61 63 65 73 20 69 6e 20 74 68 65 20  terfaces in the 
1fc50 6e 6f 74 69 66 69 65 72 20 61 6e 64 20 74 68 65  notifier and the
1fc60 20 63 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 73   channel drivers
1fc70 20 68 61 76 65 0a 63 68 61 6e 67 65 64 2e 20 20   have.changed.  
1fc80 52 65 66 65 72 20 74 6f 20 74 68 65 20 4e 6f 74  Refer to the Not
1fc90 69 66 69 65 72 2e 33 20 61 6e 64 20 43 72 74 43  ifier.3 and CrtC
1fca0 68 61 6e 6e 65 6c 2e 33 20 6d 61 6e 75 61 6c 20  hannel.3 manual 
1fcb0 65 6e 74 72 69 65 73 20 66 6f 72 0a 6d 6f 72 65  entries for.more
1fcc0 20 64 65 74 61 69 6c 73 2e 20 28 53 53 29 0a 2a   details. (SS).*
1fcd0 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
1fce0 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
1fcf0 0a 0a 34 2f 32 33 2f 39 37 20 28 72 65 6d 6f 76  ..4/23/97 (remov
1fd00 65 64 20 66 65 61 74 75 72 65 29 20 54 68 65 20  ed feature) The 
1fd10 54 63 6c 5f 46 69 6c 65 20 69 6e 74 65 72 66 61  Tcl_File interfa
1fd20 63 65 73 20 68 61 76 65 20 62 65 65 6e 20 72 65  ces have been re
1fd30 6d 6f 76 65 64 2e 0a 54 68 65 20 54 63 6c 5f 43  moved..The Tcl_C
1fd40 72 65 61 74 65 46 69 6c 65 48 61 6e 64 6c 65 72  reateFileHandler
1fd50 2f 54 63 6c 5f 44 65 6c 65 74 65 46 69 6c 65 48  /Tcl_DeleteFileH
1fd60 61 6e 64 6c 65 72 20 69 6e 74 65 72 66 61 63 65  andler interface
1fd70 73 20 6e 6f 77 20 74 61 6b 65 0a 55 6e 69 78 20  s now take.Unix 
1fd80 66 64 27 73 20 61 6e 64 20 61 72 65 20 6f 6e 6c  fd's and are onl
1fd90 79 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 20 74  y supported on t
1fda0 68 65 20 55 6e 69 78 20 70 6c 61 74 66 6f 72 6d  he Unix platform
1fdb0 2e 0a 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c  ..Tcl_GetChannel
1fdc0 46 69 6c 65 20 68 61 73 20 62 65 65 6e 20 72 65  File has been re
1fdd0 70 6c 61 63 65 64 20 77 69 74 68 20 54 63 6c 5f  placed with Tcl_
1fde0 47 65 74 43 68 61 6e 6e 65 6c 48 61 6e 64 6c 65  GetChannelHandle
1fdf0 2e 0a 54 63 6c 5f 4d 61 6b 65 46 69 6c 65 43 68  ..Tcl_MakeFileCh
1fe00 61 6e 6e 65 6c 20 6e 6f 77 20 74 61 6b 65 73 20  annel now takes 
1fe10 61 20 70 6c 61 74 66 6f 72 6d 20 73 70 65 63 69  a platform speci
1fe20 66 69 63 20 66 69 6c 65 20 68 61 6e 64 6c 65 2e  fic file handle.
1fe30 20 28 53 53 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54   (SS).*** POTENT
1fe40 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
1fe50 49 54 59 20 2a 2a 2a 0a 0a 34 2f 32 33 2f 39 37  ITY ***..4/23/97
1fe60 20 28 72 65 6d 6f 76 65 64 20 66 65 61 74 75 72   (removed featur
1fe70 65 29 20 54 68 65 20 6d 6f 64 61 6c 20 74 69 6d  e) The modal tim
1fe80 65 6f 75 74 20 69 6e 74 65 72 66 61 63 65 20 68  eout interface h
1fe90 61 73 20 62 65 65 6e 0a 72 65 6d 6f 76 65 64 20  as been.removed 
1fea0 28 54 63 6c 5f 43 72 65 61 74 65 4d 6f 64 61 6c  (Tcl_CreateModal
1feb0 54 69 6d 65 6f 75 74 2f 54 63 6c 5f 44 65 6c 65  Timeout/Tcl_Dele
1fec0 74 65 4d 6f 64 61 6c 54 69 6d 65 6f 75 74 29 20  teModalTimeout) 
1fed0 28 53 53 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49  (SS).*** POTENTI
1fee0 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49  AL INCOMPATIBILI
1fef0 54 59 20 2a 2a 2a 0a 0a 34 2f 32 33 2f 39 37 20  TY ***..4/23/97 
1ff00 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29  (feature change)
1ff10 20 43 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 73   Channel drivers
1ff20 20 61 72 65 20 6e 6f 77 20 72 65 71 75 69 72 65   are now require
1ff30 64 20 74 6f 20 63 6f 72 72 65 63 74 6c 79 0a 69  d to correctly.i
1ff40 6d 70 6c 65 6d 65 6e 74 20 62 6c 6f 63 6b 69 6e  mplement blockin
1ff50 67 20 62 65 68 61 76 69 6f 72 20 77 68 65 6e 20  g behavior when 
1ff60 74 68 65 79 20 61 72 65 20 69 6e 20 62 6c 6f 63  they are in bloc
1ff70 6b 69 6e 67 20 6d 6f 64 65 2e 20 28 53 53 29 0a  king mode. (SS).
1ff80 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
1ff90 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
1ffa0 2a 0a 0a 34 2f 32 33 2f 39 37 20 28 6e 65 77 20  *..4/23/97 (new 
1ffb0 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 74  feature) Added t
1ffc0 68 65 20 22 62 69 6e 61 72 79 22 20 63 6f 6d 6d  he "binary" comm
1ffd0 61 6e 64 20 66 6f 72 20 6d 61 6e 69 70 75 6c 61  and for manipula
1ffe0 74 69 6e 67 0a 62 69 6e 61 72 79 20 73 74 72 69  ting.binary stri
1fff0 6e 67 73 2e 20 41 6c 73 6f 2c 20 63 68 61 6e 67  ngs. Also, chang
20000 65 64 20 74 68 65 20 22 70 75 74 73 22 2c 20 22  ed the "puts", "
20010 67 65 74 73 22 2c 20 61 6e 64 20 22 72 65 61 64  gets", and "read
20020 22 20 63 6f 6d 6d 61 6e 64 73 0a 74 6f 20 70 72  " commands.to pr
20030 65 73 65 72 76 65 20 65 6d 62 65 64 64 65 64 20  eserve embedded 
20040 6e 75 6c 6c 73 2e 20 20 28 53 53 29 0a 0a 34 2f  nulls.  (SS)..4/
20050 32 33 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75  23/97 (new featu
20060 72 65 29 20 41 64 64 65 64 20 74 63 6c 5f 70 6c  re) Added tcl_pl
20070 61 74 66 6f 72 6d 28 62 79 74 65 4f 72 64 65 72  atform(byteOrder
20080 29 20 65 6c 65 6d 65 6e 74 20 74 6f 20 74 68 65  ) element to the
20090 0a 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 20 61 72  .tcl_platform ar
200a0 72 61 79 20 74 6f 20 69 64 65 6e 74 69 66 79 20  ray to identify 
200b0 74 68 65 20 6e 61 74 69 76 65 20 62 79 74 65 20  the native byte 
200c0 6f 72 64 65 72 20 66 6f 72 20 74 68 65 20 63 75  order for the cu
200d0 72 72 65 6e 74 0a 68 6f 73 74 2e 20 28 53 53 29  rrent.host. (SS)
200e0 0a 0a 34 2f 32 33 2f 39 37 20 28 62 75 67 20 66  ..4/23/97 (bug f
200f0 69 78 29 20 46 69 78 65 64 20 62 75 67 20 69 6e  ix) Fixed bug in
20100 20 64 61 74 65 20 70 61 72 73 69 6e 67 20 61 72   date parsing ar
20110 6f 75 6e 64 20 79 65 61 72 20 62 6f 75 6e 64 61  ound year bounda
20120 72 69 65 73 2e 20 28 53 53 29 0a 0a 34 2f 32 34  ries. (SS)..4/24
20130 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 49 6e  /97 (bug fix) In
20140 20 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20   the process of 
20150 63 6f 70 79 69 6e 67 20 61 20 66 69 6c 65 20 6f  copying a file o
20160 77 6e 65 64 20 62 79 20 61 6e 6f 74 68 65 72 20  wned by another 
20170 75 73 65 72 2c 0a 54 63 6c 20 77 61 73 20 63 68  user,.Tcl was ch
20180 61 6e 67 69 6e 67 20 74 68 65 20 6f 77 6e 65 72  anging the owner
20190 20 6f 66 20 74 68 65 20 63 6f 70 79 20 62 61 63   of the copy bac
201a0 6b 20 74 6f 20 74 68 65 20 6f 77 6e 65 72 20 6f  k to the owner o
201b0 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 66  f the original.f
201c0 69 6c 65 2c 20 74 68 65 72 65 66 6f 72 65 20 63  ile, therefore c
201d0 61 75 73 69 6e 67 20 66 75 72 74 68 65 72 20 66  ausing further f
201e0 69 6c 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 74  ile operations t
201f0 6f 20 66 61 69 6c 20 62 65 63 61 75 73 65 20 74  o fail because t
20200 68 65 20 63 75 72 72 65 6e 74 0a 75 73 65 72 20  he current.user 
20210 64 69 64 6e 27 74 20 6f 77 6e 20 74 68 65 20 63  didn't own the c
20220 6f 70 79 20 61 6e 79 6d 6f 72 65 2e 20 20 54 68  opy anymore.  Th
20230 65 20 6f 77 6e 65 72 20 6f 66 20 74 68 65 20 63  e owner of the c
20240 6f 70 79 20 69 73 20 6e 6f 77 20 6c 65 66 74 20  opy is now left 
20250 61 73 20 74 68 65 0a 63 75 72 72 65 6e 74 20 75  as the.current u
20260 73 65 72 2e 20 28 43 43 53 29 0a 0a 34 2f 32 34  ser. (CCS)..4/24
20270 2f 39 37 20 28 66 65 61 74 75 72 65 20 63 68 61  /97 (feature cha
20280 6e 67 65 29 20 55 6e 64 65 72 20 57 69 6e 64 6f  nge) Under Windo
20290 77 73 2c 20 64 6f 6e 27 74 20 61 75 74 6f 6d 61  ws, don't automa
202a0 74 69 63 61 6c 6c 79 20 75 70 70 65 72 63 61 73  tically uppercas
202b0 65 20 74 68 65 0a 65 6e 76 69 72 6f 6e 6d 65 6e  e the.environmen
202c0 74 20 76 61 72 69 61 62 6c 65 20 22 77 69 6e 64  t variable "wind
202d0 69 72 22 20 2d 2d 20 69 74 27 73 20 73 75 70 70  ir" -- it's supp
202e0 6f 73 65 64 20 74 6f 20 62 65 20 6c 6f 77 65 72  osed to be lower
202f0 20 63 61 73 65 2e 20 20 28 43 43 53 29 0a 0a 34   case.  (CCS)..4
20300 2f 32 39 2f 39 37 20 28 6e 65 77 20 66 65 61 74  /29/97 (new feat
20310 75 72 65 29 20 41 64 64 65 64 20 6e 61 6d 65 73  ure) Added names
20320 70 61 63 65 20 73 75 70 70 6f 72 74 20 62 61 73  pace support bas
20330 65 64 20 6f 6e 20 61 20 6e 61 6d 65 73 70 61 63  ed on a namespac
20340 65 0a 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  e.implementation
20350 20 62 79 20 4d 69 63 68 61 65 6c 20 4a 2e 20 4d   by Michael J. M
20360 63 4c 65 6e 6e 61 6e 20 6f 66 20 4c 75 63 65 6e  cLennan of Lucen
20370 74 20 54 65 63 68 6e 6f 6c 6f 67 69 65 73 2e 20  t Technologies. 
20380 41 20 6e 61 6d 65 73 70 61 63 65 0a 65 6e 63 61  A namespace.enca
20390 70 73 75 6c 61 74 65 73 20 61 20 63 6f 6c 6c 65  psulates a colle
203a0 63 74 69 6f 6e 20 6f 66 20 63 6f 6d 6d 61 6e 64  ction of command
203b0 73 20 61 6e 64 20 76 61 72 69 61 62 6c 65 73 20  s and variables 
203c0 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 74  to ensure that t
203d0 68 65 79 0a 77 6f 6e 27 74 20 69 6e 74 65 72 66  hey.won't interf
203e0 65 72 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73  ere the commands
203f0 20 61 6e 64 20 76 61 72 69 61 62 6c 65 73 20 6f   and variables o
20400 66 20 6f 74 68 65 72 20 6e 61 6d 65 73 70 61 63  f other namespac
20410 65 73 2e 20 54 68 65 20 67 6c 6f 62 61 6c 0a 6e  es. The global.n
20420 61 6d 65 73 70 61 63 65 20 68 6f 6c 64 73 20 61  amespace holds a
20430 6c 6c 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62  ll global variab
20440 6c 65 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 73  les and commands
20450 2e 20 41 64 64 69 74 69 6f 6e 61 6c 20 6e 61 6d  . Additional nam
20460 65 73 70 61 63 65 73 20 61 72 65 0a 63 72 65 61  espaces are.crea
20470 74 65 64 20 77 69 74 68 20 74 68 65 20 6e 65 77  ted with the new
20480 20 6e 61 6d 65 73 70 61 63 65 20 63 6f 6d 6d 61   namespace comma
20490 6e 64 2e 20 54 68 65 20 6e 65 77 20 76 61 72 69  nd. The new vari
204a0 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 20 6c 65 74  able command let
204b0 73 20 79 6f 75 0a 63 72 65 61 74 65 20 54 63 6c  s you.create Tcl
204c0 20 76 61 72 69 61 62 6c 65 73 20 69 6e 73 69 64   variables insid
204d0 65 20 61 20 6e 61 6d 65 73 70 61 63 65 2e 20 54  e a namespace. T
204e0 68 65 20 6e 61 6d 65 73 20 6f 66 20 54 63 6c 20  he names of Tcl 
204f0 76 61 72 69 61 62 6c 65 73 20 61 6e 64 0a 63 6f  variables and.co
20500 6d 6d 61 6e 64 73 20 6d 61 79 20 6e 6f 77 20 62  mmands may now b
20510 65 20 71 75 61 6c 69 66 69 65 64 20 62 79 20 74  e qualified by t
20520 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6e  he name of the n
20530 61 6d 65 73 70 61 63 65 20 63 6f 6e 74 61 69 6e  amespace contain
20540 69 6e 67 20 74 68 65 6d 2e 0a 54 68 65 20 6b 65  ing them..The ke
20550 79 20 6e 61 6d 65 73 70 61 63 65 2d 72 65 6c 61  y namespace-rela
20560 74 65 64 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65  ted commands are
20570 20 73 75 6d 6d 61 72 69 7a 65 64 20 62 65 6c 6f   summarized belo
20580 77 3a 0a 20 20 20 20 2d 20 6e 61 6d 65 73 70 61  w:.    - namespa
20590 63 65 20 3f 65 76 61 6c 3f 20 6e 61 6d 65 20 61  ce ?eval? name a
205a0 72 67 20 3f 61 72 67 2e 2e 2e 3f 0a 20 20 20 20  rg ?arg...?.    
205b0 20 20 20 20 20 55 73 65 64 20 74 6f 20 64 65 66       Used to def
205c0 69 6e 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73  ine the commands
205d0 20 61 6e 64 20 76 61 72 69 61 62 6c 65 73 20 69   and variables i
205e0 6e 20 61 20 6e 61 6d 65 73 70 61 63 65 2e 0a 20  n a namespace.. 
205f0 20 20 20 20 20 20 20 20 4f 70 74 69 6f 6e 61 6c          Optional
20600 6c 79 20 63 72 65 61 74 65 73 20 74 68 65 20 6e  ly creates the n
20610 61 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 2d 20  amespace..    - 
20620 6e 61 6d 65 73 70 61 63 65 20 65 78 70 6f 72 74  namespace export
20630 20 3f 2d 63 6c 65 61 72 3f 20 3f 70 61 74 74 65   ?-clear? ?patte
20640 72 6e 20 70 61 74 74 65 72 6e 2e 2e 2e 3f 0a 20  rn pattern...?. 
20650 20 20 20 20 20 20 20 20 53 70 65 63 69 66 69 65          Specifie
20660 73 20 77 68 69 63 68 20 63 6f 6d 6d 61 6e 64 73  s which commands
20670 20 61 72 65 20 65 78 70 6f 72 74 65 64 20 66 72   are exported fr
20680 6f 6d 20 61 20 6e 61 6d 65 73 70 61 63 65 2e 20  om a namespace. 
20690 54 68 65 73 65 0a 20 20 20 20 20 20 20 20 20 61  These.         a
206a0 72 65 20 74 68 65 20 6f 6e 65 73 20 74 68 61 74  re the ones that
206b0 20 63 61 6e 20 62 65 20 69 6d 70 6f 72 74 65 64   can be imported
206c0 20 69 6e 74 6f 20 61 6e 6f 74 68 65 72 20 6e 61   into another na
206d0 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 2d 20 6e  mespace..    - n
206e0 61 6d 65 73 70 61 63 65 20 69 6d 70 6f 72 74 20  amespace import 
206f0 3f 2d 66 6f 72 63 65 3f 20 3f 70 61 74 74 65 72  ?-force? ?patter
20700 6e 20 70 61 74 74 65 72 6e 2e 2e 2e 3f 0a 20 20  n pattern...?.  
20710 20 20 20 20 20 20 20 4d 61 6b 65 73 20 74 68 65         Makes the
20720 20 73 70 65 63 69 66 69 65 64 20 63 6f 6d 6d 61   specified comma
20730 6e 64 73 20 61 63 63 65 73 73 69 62 6c 65 20 69  nds accessible i
20740 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e 61  n the current na
20750 6d 65 73 70 61 63 65 2e 0a 20 20 20 20 2d 20 6e  mespace..    - n
20760 61 6d 65 73 70 61 63 65 20 63 75 72 72 65 6e 74  amespace current
20770 0a 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e  .         Return
20780 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68  s the name of th
20790 65 20 63 75 72 72 65 6e 74 20 6e 61 6d 65 73 70  e current namesp
207a0 61 63 65 2e 0a 20 20 20 20 2d 20 76 61 72 69 61  ace..    - varia
207b0 62 6c 65 20 6e 61 6d 65 20 3f 76 61 6c 75 65 3f  ble name ?value?
207c0 20 3f 6e 61 6d 65 20 3f 76 61 6c 75 65 3f 2e 2e   ?name ?value?..
207d0 2e 3f 0a 20 20 20 20 20 20 20 20 20 43 72 65 61  .?.         Crea
207e0 74 65 73 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20  tes one or more 
207f0 6e 61 6d 65 73 70 61 63 65 20 76 61 72 69 61 62  namespace variab
20800 6c 65 73 2e 20 28 42 54 4c 29 0a 0a 35 2f 31 2f  les. (BTL)..5/1/
20810 39 37 20 28 62 75 67 20 66 69 78 29 20 55 6e 64  97 (bug fix) Und
20820 65 72 20 57 69 6e 64 6f 77 73 2c 20 66 69 6c 65  er Windows, file
20830 20 74 69 6d 65 73 20 77 65 72 65 20 72 65 70 6f   times were repo
20840 72 74 65 64 20 69 6e 20 47 4d 54 2e 20 20 53 68  rted in GMT.  Sh
20850 6f 75 6c 64 20 62 65 0a 72 65 70 6f 72 74 65 64  ould be.reported
20860 20 69 6e 20 6c 6f 63 61 6c 20 74 69 6d 65 2e 20   in local time. 
20870 28 43 43 53 29 0a 0a 35 2f 32 2f 39 37 20 28 66  (CCS)..5/2/97 (f
20880 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 43  eature change) C
20890 68 61 6e 67 65 64 20 74 68 65 20 6e 61 6d 65 20  hanged the name 
208a0 6f 66 20 74 68 65 20 74 77 6f 20 54 63 6c 20 76  of the two Tcl v
208b0 61 72 69 61 62 6c 65 73 20 75 73 65 64 20 66 6f  ariables used fo
208c0 72 0a 74 72 61 63 69 6e 67 20 62 79 74 65 63 6f  r.tracing byteco
208d0 64 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 61  de compilation a
208e0 6e 64 20 65 78 65 63 75 74 69 6f 6e 20 74 6f 20  nd execution to 
208f0 74 63 6c 5f 74 72 61 63 65 43 6f 6d 70 69 6c 65  tcl_traceCompile
20900 20 61 6e 64 0a 74 63 6c 5f 74 72 61 63 65 45 78   and.tcl_traceEx
20910 65 63 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e  ec respectively.
20920 20 54 68 65 73 65 20 76 61 72 69 61 62 6c 65 73   These variables
20930 20 61 72 65 20 6e 6f 77 20 64 6f 63 75 6d 65 6e   are now documen
20940 74 65 64 20 69 6e 20 74 68 65 0a 74 63 6c 76 61  ted in the.tclva
20950 72 73 20 6d 61 6e 20 70 61 67 65 2e 20 28 42 4c  rs man page. (BL
20960 29 0a 0a 35 2f 35 2f 39 37 20 28 6e 65 77 20 66  )..5/5/97 (new f
20970 65 61 74 75 72 65 29 20 53 75 70 70 6f 72 74 20  eature) Support 
20980 22 65 6e 64 22 20 61 73 20 74 68 65 20 69 6e 64  "end" as the ind
20990 65 78 20 66 6f 72 20 22 6c 73 6f 72 74 20 2d 69  ex for "lsort -i
209a0 6e 64 65 78 22 2e 20 28 42 57 29 0a 0a 35 2f 35  ndex". (BW)..5/5
209b0 2f 39 37 20 28 62 75 67 20 66 69 78 65 73 29 20  /97 (bug fixes) 
209c0 43 6c 65 61 6e 65 64 20 75 70 20 74 68 65 20 77  Cleaned up the w
209d0 61 79 20 74 68 65 20 68 74 74 70 20 70 61 63 6b  ay the http pack
209e0 61 67 65 20 72 65 73 65 74 73 20 63 6f 6e 6e 65  age resets conne
209f0 63 74 69 6f 6e 73 20 28 42 57 29 0a 0a 35 2f 38  ctions (BW)..5/8
20a00 2f 39 37 20 28 66 65 61 74 75 72 65 20 63 68 61  /97 (feature cha
20a10 6e 67 65 29 20 4e 65 77 6c 79 20 63 72 65 61 74  nge) Newly creat
20a20 65 64 20 54 63 6c 20 6f 62 6a 65 63 74 73 20 6e  ed Tcl objects n
20a30 6f 77 20 68 61 76 65 20 61 20 72 65 66 65 72 65  ow have a refere
20a40 6e 63 65 20 63 6f 75 6e 74 0a 6f 66 20 7a 65 72  nce count.of zer
20a50 6f 20 69 6e 73 74 65 61 64 20 6f 66 20 6f 6e 65  o instead of one
20a60 2e 20 54 68 69 73 20 73 69 6d 70 6c 69 66 69 65  . This simplifie
20a70 73 20 43 20 63 6f 64 65 20 74 68 61 74 20 73 74  s C code that st
20a80 6f 72 65 73 20 6e 65 77 6c 79 20 63 72 65 61 74  ores newly creat
20a90 65 64 0a 6f 62 6a 65 63 74 73 20 69 6e 20 54 63  ed.objects in Tc
20aa0 6c 20 76 61 72 69 61 62 6c 65 73 20 6f 72 20 69  l variables or i
20ab0 6e 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65  n data structure
20ac0 73 20 73 75 63 68 20 61 73 20 6c 69 73 74 20 6f  s such as list o
20ad0 62 6a 65 63 74 73 2e 20 54 68 61 74 20 43 0a 63  bjects. That C.c
20ae0 6f 64 65 20 6d 75 73 74 20 69 6e 63 72 65 6d 65  ode must increme
20af0 6e 74 20 74 68 65 20 6e 65 77 20 6f 62 6a 65 63  nt the new objec
20b00 74 27 73 20 72 65 66 65 72 65 6e 63 65 20 63 6f  t's reference co
20b10 75 6e 74 20 73 69 6e 63 65 20 74 68 65 20 76 61  unt since the va
20b20 72 69 61 62 6c 65 20 6f 72 0a 64 61 74 61 20 73  riable or.data s
20b30 74 72 75 63 74 75 72 65 20 77 69 6c 6c 20 63 6f  tructure will co
20b40 6e 74 61 69 6e 20 61 20 6c 6f 6e 67 2d 74 65 72  ntain a long-ter
20b50 6d 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74  m reference to t
20b60 68 65 20 6f 62 6a 65 63 74 2e 20 46 6f 72 6d 65  he object. Forme
20b70 72 6c 79 2c 0a 77 68 65 6e 20 6e 65 77 20 6f 62  rly,.when new ob
20b80 6a 65 63 74 73 20 73 74 61 72 74 65 64 20 6f 75  jects started ou
20b90 74 20 77 69 74 68 20 72 65 66 65 72 65 6e 63 65  t with reference
20ba0 20 63 6f 75 6e 74 20 6f 6e 65 2c 20 69 74 20 77   count one, it w
20bb0 61 73 20 6e 65 63 65 73 73 61 72 79 20 74 6f 0a  as necessary to.
20bc0 64 65 63 72 65 6d 65 6e 74 20 74 68 65 20 6e 65  decrement the ne
20bd0 77 20 6f 62 6a 65 63 74 27 73 20 72 65 66 65 72  w object's refer
20be0 65 6e 63 65 20 63 6f 75 6e 74 20 61 66 74 65 72  ence count after
20bf0 20 74 68 65 20 73 74 6f 72 65 20 74 6f 20 6d 61   the store to ma
20c00 6b 65 20 73 75 72 65 20 69 74 0a 77 61 73 20 6c  ke sure it.was l
20c10 65 66 74 20 77 69 74 68 20 74 68 65 20 63 6f 72  eft with the cor
20c20 72 65 63 74 20 76 61 6c 75 65 3b 20 74 68 69 73  rect value; this
20c30 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 6e 65   is no longer ne
20c40 63 65 73 73 61 72 79 2e 20 28 42 4c 29 0a 0a 35  cessary. (BL)..5
20c50 2f 39 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75  /9/97 (new featu
20c60 72 65 29 20 41 64 64 65 64 20 74 68 65 20 54 63  re) Added the Tc
20c70 6c 5f 47 65 74 73 4f 62 6a 20 69 6e 74 65 72 66  l_GetsObj interf
20c80 61 63 65 20 74 68 61 74 20 74 61 6b 65 73 20 61  ace that takes a
20c90 6e 0a 6f 62 6a 65 63 74 20 72 65 66 65 72 65 6e  n.object referen
20ca0 63 65 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20  ce instead of a 
20cb0 64 79 6e 61 6d 69 63 20 73 74 72 69 6e 67 20 28  dynamic string (
20cc0 61 73 20 69 6e 20 54 63 6c 5f 47 65 74 73 29 2e  as in Tcl_Gets).
20cd0 20 28 53 53 29 0a 0a 35 2f 31 32 2f 39 37 20 28   (SS)..5/12/97 (
20ce0 6e 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64  new feature) Add
20cf0 65 64 20 54 63 6c 5f 43 72 65 61 74 65 41 6c 69  ed Tcl_CreateAli
20d00 61 73 4f 62 6a 20 61 6e 64 20 54 63 6c 5f 47 65  asObj and Tcl_Ge
20d10 74 41 6c 69 61 73 4f 62 6a 20 43 20 41 50 49 73  tAliasObj C APIs
20d20 0a 74 6f 20 61 6c 6c 6f 77 20 61 6e 20 61 6c 69  .to allow an ali
20d30 61 73 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 62 65  as command to be
20d40 20 63 72 65 61 74 65 64 20 77 69 74 68 20 61 20   created with a 
20d50 76 65 63 74 6f 72 20 6f 66 20 54 63 6c 5f 4f 62  vector of Tcl_Ob
20d60 6a 20 73 74 72 75 63 74 75 72 65 73 0a 61 6e 64  j structures.and
20d70 20 74 6f 20 67 65 74 20 74 68 65 20 76 65 63 74   to get the vect
20d80 6f 72 20 62 61 63 6b 20 6c 61 74 65 72 2e 20 28  or back later. (
20d90 4a 4c 29 0a 0a 35 2f 31 32 2f 39 37 20 28 66 65  JL)..5/12/97 (fe
20da0 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 43 68  ature change) Ch
20db0 61 6e 67 65 64 20 54 63 6c 5f 45 78 70 6f 73 65  anged Tcl_Expose
20dc0 43 6f 6d 6d 61 6e 64 20 61 6e 64 20 54 63 6c 5f  Command and Tcl_
20dd0 48 69 64 65 43 6f 6d 6d 61 6e 64 20 74 6f 0a 6c  HideCommand to.l
20de0 65 61 76 65 20 61 6e 20 6f 62 6a 65 63 74 20 72  eave an object r
20df0 65 73 75 6c 74 20 69 6e 73 74 65 61 64 20 6f 66  esult instead of
20e00 20 61 20 73 74 72 69 6e 67 20 72 65 73 75 6c 74   a string result
20e10 2e 20 28 4a 4c 29 0a 0a 35 2f 31 34 2f 39 37 20  . (JL)..5/14/97 
20e20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29  (feature change)
20e30 20 49 6d 70 72 6f 76 65 64 20 74 68 65 20 68 61   Improved the ha
20e40 6e 64 6c 69 6e 67 20 6f 66 20 74 68 65 20 69 6e  ndling of the in
20e50 74 65 72 70 72 65 74 65 72 20 72 65 73 75 6c 74  terpreter result
20e60 2e 0a 54 68 69 73 20 69 73 20 73 74 69 6c 6c 20  ..This is still 
20e70 65 69 74 68 65 72 20 61 6e 20 6f 62 6a 65 63 74  either an object
20e80 20 6f 72 20 61 20 73 74 72 69 6e 67 2c 20 62 75   or a string, bu
20e90 74 20 74 68 65 20 74 77 6f 20 76 61 6c 75 65 73  t the two values
20ea0 20 61 72 65 20 6e 6f 77 20 6b 65 70 74 0a 63 6f   are now kept.co
20eb0 6e 73 69 73 74 65 6e 74 20 75 6e 6c 65 73 73 20  nsistent unless 
20ec0 73 6f 6d 65 20 43 20 63 6f 64 65 20 72 65 61 64  some C code read
20ed0 73 20 6f 72 20 77 72 69 74 65 73 20 69 6e 74 65  s or writes inte
20ee0 72 70 2d 3e 72 65 73 75 6c 74 20 64 69 72 65 63  rp->result direc
20ef0 74 6c 79 2e 20 53 65 65 0a 74 68 65 20 53 65 74  tly. See.the Set
20f00 52 65 73 75 6c 74 20 6d 61 6e 20 70 61 67 65 20  Result man page 
20f10 66 6f 72 20 64 65 74 61 69 6c 73 2e 20 52 65 6d  for details. Rem
20f20 6f 76 65 64 20 74 68 65 20 54 63 6c 5f 52 65 73  oved the Tcl_Res
20f30 65 74 4f 62 6a 52 65 73 75 6c 74 0a 70 72 6f 63  etObjResult.proc
20f40 65 64 75 72 65 2e 20 28 42 4c 29 0a 2a 2a 2a 20  edure. (BL).*** 
20f50 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
20f60 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54  ATIBILITY with T
20f70 63 6c 20 38 2e 30 61 32 20 2a 2a 2a 0a 0a 35 2f  cl 8.0a2 ***..5/
20f80 31 36 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75  16/97 (new featu
20f90 72 65 29 20 41 64 64 65 64 20 22 66 63 6f 70 79  re) Added "fcopy
20fa0 22 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 6d 6f 76  " command to mov
20fb0 65 20 64 61 74 61 20 62 65 74 77 65 65 6e 0a 63  e data between.c
20fc0 68 61 6e 6e 65 6c 73 2e 20 20 52 65 66 65 72 20  hannels.  Refer 
20fd0 74 6f 20 74 68 65 20 6d 61 6e 75 61 6c 20 70 61  to the manual pa
20fe0 67 65 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f  ge for more info
20ff0 72 6d 61 74 69 6f 6e 2e 20 20 52 65 6d 6f 76 65  rmation.  Remove
21000 64 20 74 68 65 0a 22 75 6e 73 75 70 70 6f 72 74  d the."unsupport
21010 65 64 30 22 20 63 6f 6d 6d 61 6e 64 20 73 69 6e  ed0" command sin
21020 63 65 20 69 74 20 69 73 20 6f 62 73 6f 6c 65 74  ce it is obsolet
21030 65 20 6e 6f 77 2e 20 20 28 53 53 29 0a 0a 35 2f  e now.  (SS)..5/
21040 31 36 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75  16/97 (new featu
21050 72 65 29 20 41 64 64 65 64 20 54 63 6c 5f 47 65  re) Added Tcl_Ge
21060 74 53 74 72 69 6e 67 52 65 73 75 6c 74 20 70 72  tStringResult pr
21070 6f 63 65 64 75 72 65 20 74 6f 20 61 6c 6c 6f 77  ocedure to allow
21080 20 70 72 6f 67 72 61 6d 73 0a 74 6f 20 67 65 74   programs.to get
21090 20 61 6e 20 69 6e 74 65 72 70 72 65 74 65 72 27   an interpreter'
210a0 73 20 72 65 73 75 6c 74 20 61 73 20 61 20 73 74  s result as a st
210b0 72 69 6e 67 2e 20 49 66 20 74 68 65 20 72 65 73  ring. If the res
210c0 75 6c 74 20 77 61 73 20 70 72 65 76 69 6f 75 73  ult was previous
210d0 6c 79 20 73 65 74 0a 74 6f 20 61 6e 20 6f 62 6a  ly set.to an obj
210e0 65 63 74 2c 20 74 68 69 73 20 70 72 6f 63 65 64  ect, this proced
210f0 75 72 65 20 77 69 6c 6c 20 63 6f 6e 76 65 72 74  ure will convert
21100 20 74 68 65 20 6f 62 6a 65 63 74 20 74 6f 20 61   the object to a
21110 20 73 74 72 69 6e 67 2e 20 55 73 65 20 6f 66 0a   string. Use of.
21120 54 63 6c 5f 47 65 74 53 74 72 69 6e 67 52 65 73  Tcl_GetStringRes
21130 75 6c 74 20 69 73 20 69 6e 74 65 6e 64 65 64 20  ult is intended 
21140 74 6f 20 72 65 70 6c 61 63 65 20 64 69 72 65 63  to replace direc
21150 74 20 61 63 63 65 73 73 20 74 6f 20 69 6e 74 65  t access to inte
21160 72 70 2d 3e 72 65 73 75 6c 74 2c 0a 77 68 69 63  rp->result,.whic
21170 68 20 69 73 20 6e 6f 74 20 73 61 66 65 2e 20 28  h is not safe. (
21180 42 4c 29 0a 0a 35 2f 32 30 2f 39 37 20 28 6e 65  BL)..5/20/97 (ne
21190 77 20 66 65 61 74 75 72 65 73 29 20 46 69 78 65  w features) Fixe
211a0 64 20 22 66 63 6f 70 79 22 20 74 6f 20 72 65 74  d "fcopy" to ret
211b0 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f  urn the number o
211c0 66 20 62 79 74 65 73 0a 74 72 61 6e 73 66 65 72  f bytes.transfer
211d0 72 65 64 20 69 6e 20 74 68 65 20 62 6c 6f 63 6b  red in the block
211e0 69 6e 67 20 63 61 73 65 2e 20 20 55 70 64 61 74  ing case.  Updat
211f0 65 64 20 74 68 65 20 68 74 74 70 20 70 61 63 6b  ed the http pack
21200 61 67 65 20 74 6f 20 75 73 65 0a 66 63 6f 70 79  age to use.fcopy
21210 20 69 6e 73 74 65 61 64 20 6f 66 20 75 6e 73 75   instead of unsu
21220 70 70 6f 72 74 65 64 30 2e 20 20 41 64 64 65 64  pported0.  Added
21230 20 2d 74 69 6d 65 6f 75 74 20 61 6e 64 20 2d 68   -timeout and -h
21240 61 6e 64 6c 65 72 20 6f 70 74 69 6f 6e 73 20 74  andler options t
21250 6f 0a 68 74 74 70 5f 67 65 74 2e 20 20 68 74 74  o.http_get.  htt
21260 70 5f 67 65 74 20 69 73 20 6e 6f 77 20 62 6c 6f  p_get is now blo
21270 63 6b 69 6e 67 20 62 79 20 64 65 66 61 75 6c 74  cking by default
21280 2e 20 20 49 74 20 69 73 20 6f 6e 6c 79 20 6e 6f  .  It is only no
21290 6e 2d 62 6c 6f 63 6b 69 6e 67 0a 69 66 20 79 6f  n-blocking.if yo
212a0 75 20 73 75 70 70 6c 79 20 61 20 2d 63 6f 6d 6d  u supply a -comm
212b0 61 6e 64 20 61 72 67 75 6d 65 6e 74 2e 20 28 42  and argument. (B
212c0 57 29 0a 0a 35 2f 32 32 2f 39 37 20 28 62 75 67  W)..5/22/97 (bug
212d0 20 66 69 78 29 20 46 69 78 65 64 20 73 65 76 65   fix) Fixed seve
212e0 72 61 6c 20 62 75 67 73 20 69 6e 20 74 68 65 20  ral bugs in the 
212f0 22 6c 73 6f 72 74 22 20 63 6f 6d 6d 61 6e 64 20  "lsort" command 
21300 68 61 76 69 6e 67 20 74 6f 20 64 6f 0a 77 69 74  having to do.wit
21310 68 20 74 68 65 20 2d 64 69 63 74 69 6f 6e 61 72  h the -dictionar
21320 79 20 6f 70 74 69 6f 6e 20 61 6e 64 20 74 68 65  y option and the
21330 20 70 72 65 73 65 6e 63 65 20 6f 66 20 6e 75 6d   presence of num
21340 62 65 72 73 20 65 6d 62 65 64 64 65 64 20 69 6e  bers embedded in
21350 20 74 68 65 0a 73 74 72 69 6e 67 73 2e 20 20 28   the.strings.  (
21360 4a 4f 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  JO)..-----------
21370 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20  ------ Released 
21380 38 2e 30 62 31 2c 20 35 2f 32 37 2f 39 37 20 2d  8.0b1, 5/27/97 -
21390 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
213a0 2d 2d 2d 2d 2d 2d 0a 0a 36 2f 32 2f 39 37 20 28  ------..6/2/97 (
213b0 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 62  bug fix) Fixed b
213c0 75 67 20 69 6e 20 73 74 61 72 74 75 70 20 63 6f  ug in startup co
213d0 64 65 20 74 68 61 74 20 63 61 75 73 65 64 20 61  de that caused a
213e0 20 70 72 6f 62 6c 65 6d 20 69 6e 0a 66 69 6e 64   problem in.find
213f0 69 6e 67 20 74 68 65 20 6c 69 62 72 61 72 79 20  ing the library 
21400 66 69 6c 65 73 20 77 68 65 6e 20 74 68 65 79 20  files when they 
21410 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e  are installed in
21420 20 61 20 64 69 72 65 63 74 6f 72 79 0a 63 6f 6e   a directory.con
21430 74 61 69 6e 69 6e 67 20 61 20 73 70 61 63 65 20  taining a space 
21440 69 6e 20 74 68 65 20 6e 61 6d 65 2e 20 28 53 53  in the name. (SS
21450 29 0a 0a 36 2f 32 2f 39 37 20 28 62 75 67 20 66  )..6/2/97 (bug f
21460 69 78 29 20 46 69 78 65 64 20 62 75 67 20 69 6e  ix) Fixed bug in
21470 20 55 6e 69 78 20 6e 6f 74 69 66 69 65 72 20 77   Unix notifier w
21480 68 65 72 65 20 74 68 65 20 73 65 6c 65 63 74 20  here the select 
21490 6d 61 73 6b 20 77 61 73 0a 6e 6f 74 20 62 65 69  mask was.not bei
214a0 6e 67 20 63 6c 65 61 72 65 64 20 75 6e 64 65 72  ng cleared under
214b0 20 73 6f 6d 65 20 63 69 72 63 75 6d 73 74 61 6e   some circumstan
214c0 63 65 73 2e 20 28 53 53 29 0a 0a 36 2f 34 2f 39  ces. (SS)..6/4/9
214d0 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  7 (bug fix) Fixe
214e0 64 20 62 75 67 20 74 68 61 74 20 70 72 65 76 65  d bug that preve
214f0 6e 74 65 64 20 63 72 65 61 74 69 6f 6e 20 6f 66  nted creation of
21500 20 54 6b 20 77 69 64 67 65 74 73 20 69 6e 0a 6e   Tk widgets in.n
21510 61 6d 65 73 70 61 63 65 73 2e 20 54 63 6c 5f 43  amespaces. Tcl_C
21520 72 65 61 74 65 4f 62 6a 43 6f 6d 6d 61 6e 64 20  reateObjCommand 
21530 61 6e 64 20 54 63 6c 5f 43 72 65 61 74 65 43 6f  and Tcl_CreateCo
21540 6d 6d 61 6e 64 20 6e 6f 77 20 61 6c 77 61 79 73  mmand now always
21550 20 63 72 65 61 74 65 0a 63 6f 6d 6d 61 6e 64 73   create.commands
21560 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 6e   in the global n
21570 61 6d 65 73 70 61 63 65 20 75 6e 6c 65 73 73 20  amespace unless 
21580 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65  the command name
21590 73 20 61 72 65 20 71 75 61 6c 69 66 69 65 64 2e  s are qualified.
215a0 20 54 63 6c 0a 70 72 6f 63 65 64 75 72 65 73 20   Tcl.procedures 
215b0 63 6f 6e 74 69 6e 75 65 20 74 6f 20 62 65 20 63  continue to be c
215c0 72 65 61 74 65 64 20 69 6e 20 74 68 65 20 63 75  reated in the cu
215d0 72 72 65 6e 74 20 6e 61 6d 65 73 70 61 63 65 20  rrent namespace 
215e0 62 79 20 64 65 66 61 75 6c 74 2e 20 28 42 4c 29  by default. (BL)
215f0 0a 0a 36 2f 36 2f 39 37 20 28 6e 65 77 20 66 65  ..6/6/97 (new fe
21600 61 74 75 72 65 73 29 20 41 64 64 65 64 20 6e 65  atures) Added ne
21610 77 20 6e 61 6d 65 73 70 61 63 65 20 41 50 49 20  w namespace API 
21620 70 72 6f 63 65 64 75 72 65 73 0a 54 63 6c 5f 41  procedures.Tcl_A
21630 70 70 65 6e 64 45 78 70 6f 72 74 4c 69 73 74 20  ppendExportList 
21640 61 6e 64 20 54 63 6c 5f 45 78 70 6f 72 74 20 74  and Tcl_Export t
21650 6f 20 61 6c 6c 6f 77 20 43 20 63 6f 64 65 20 74  o allow C code t
21660 6f 20 67 65 74 20 61 6e 64 20 73 65 74 20 61 0a  o get and set a.
21670 6e 61 6d 65 73 70 61 63 65 27 73 20 65 78 70 6f  namespace's expo
21680 72 74 20 6c 69 73 74 2e 20 28 42 4c 29 0a 0a 36  rt list. (BL)..6
21690 2f 31 31 2f 39 37 20 28 6e 65 77 20 66 65 61 74  /11/97 (new feat
216a0 75 72 65 29 20 41 64 64 65 64 20 54 63 6c 5f 43  ure) Added Tcl_C
216b0 6f 6e 63 61 74 4f 62 6a 2e 20 54 68 69 73 20 6f  oncatObj. This o
216c0 62 6a 65 63 74 2d 62 61 73 65 64 20 72 6f 75 74  bject-based rout
216d0 69 6e 65 0a 70 61 72 61 6c 6c 65 6c 73 20 74 68  ine.parallels th
216e0 65 20 73 74 72 69 6e 67 2d 62 61 73 65 64 20 72  e string-based r
216f0 6f 75 74 69 6e 65 20 54 63 6c 5f 43 6f 6e 63 61  outine Tcl_Conca
21700 74 2e 20 28 53 52 50 29 0a 0a 36 2f 31 31 2f 39  t. (SRP)..6/11/9
21710 37 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  7 (new feature) 
21720 41 64 64 65 64 20 54 63 6c 5f 53 65 74 4f 62 6a  Added Tcl_SetObj
21730 45 72 72 6f 72 43 6f 64 65 2e 20 54 68 69 73 20  ErrorCode. This 
21740 6f 62 6a 65 63 74 2d 62 61 73 65 64 0a 72 6f 75  object-based.rou
21750 74 69 6e 65 73 20 70 61 72 61 6c 6c 65 6c 73 20  tines parallels 
21760 74 68 65 20 73 74 72 69 6e 67 2d 62 61 73 65 64  the string-based
21770 20 72 6f 75 74 69 6e 65 20 54 63 6c 5f 53 65 74   routine Tcl_Set
21780 45 72 72 6f 72 43 6f 64 65 2e 20 28 53 52 50 29  ErrorCode. (SRP)
21790 0a 0a 36 2f 31 32 2f 39 37 20 28 62 75 67 20 66  ..6/12/97 (bug f
217a0 69 78 29 20 46 69 78 20 74 68 65 20 22 75 6e 6b  ix) Fix the "unk
217b0 6e 6f 77 6e 22 20 70 72 6f 63 65 64 75 72 65 20  nown" procedure 
217c0 73 6f 20 74 68 61 74 20 77 69 73 68 20 75 6e 64  so that wish und
217d0 65 72 20 57 69 6e 64 6f 77 73 0a 77 69 6c 6c 20  er Windows.will 
217e0 65 78 65 63 20 61 6e 20 65 78 74 65 72 6e 61 6c  exec an external
217f0 20 70 72 6f 67 72 61 6d 2c 20 69 6e 73 74 65 61   program, instea
21800 64 20 6f 66 20 61 6c 77 61 79 73 20 63 6f 6d 70  d of always comp
21810 6c 61 69 6e 69 6e 67 20 22 63 6f 6e 73 6f 6c 65  laining "console
21820 31 20 6e 6f 74 0a 6f 70 65 6e 65 64 20 66 6f 72  1 not.opened for
21830 20 77 72 69 74 69 6e 67 22 2e 20 28 43 43 53 29   writing". (CCS)
21840 0a 0a 36 2f 31 32 2f 39 37 20 28 62 75 67 20 66  ..6/12/97 (bug f
21850 69 78 29 20 46 69 78 65 64 20 63 6f 72 65 20 64  ix) Fixed core d
21860 75 6d 70 20 65 78 70 65 72 69 65 6e 63 65 64 20  ump experienced 
21870 62 79 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  by the following
21880 20 73 69 6d 70 6c 65 0a 73 63 72 69 70 74 3a 0a   simple.script:.
21890 09 69 6e 74 65 72 70 20 63 72 65 61 74 65 20 78  .interp create x
218a0 0a 09 78 20 61 6c 69 61 73 20 65 78 65 63 20 65  ..x alias exec e
218b0 78 65 63 0a 09 69 6e 74 65 72 70 20 64 65 6c 65  xec..interp dele
218c0 74 65 20 78 0a 54 68 69 73 20 70 61 6e 69 63 20  te x.This panic 
218d0 77 61 73 20 63 61 75 73 65 64 20 62 79 20 6e 6f  was caused by no
218e0 74 20 69 6e 73 74 61 6c 6c 69 6e 67 20 74 68 65  t installing the
218f0 20 6e 65 77 20 43 6d 64 44 65 6c 65 74 65 50 72   new CmdDeletePr
21900 6f 63 20 77 68 65 6e 20 65 78 65 63 0a 67 6f 74  oc when exec.got
21910 20 72 65 64 65 66 69 6e 65 64 20 62 79 20 74 68   redefined by th
21920 65 20 61 6c 69 61 73 20 63 72 65 61 74 69 6f 6e  e alias creation
21930 20 73 74 65 70 2e 20 52 65 70 6f 72 74 65 64 20   step. Reported 
21940 62 79 20 4c 69 6e 64 73 61 79 20 4d 61 72 73 68  by Lindsay Marsh
21950 61 6c 20 28 4a 4c 29 0a 0a 36 2f 31 33 2f 39 37  al (JL)..6/13/97
21960 20 28 6e 65 77 20 66 65 61 74 75 72 65 73 29 20   (new features) 
21970 54 63 6c 20 6f 62 6a 65 63 74 73 20 6e 65 77 6c  Tcl objects newl
21980 79 20 63 72 65 61 74 65 64 20 62 79 20 54 63 6c  y created by Tcl
21990 5f 4e 65 77 4f 62 6a 20 6e 6f 77 20 68 61 76 65  _NewObj now have
219a0 20 61 0a 73 74 72 69 6e 67 20 72 65 70 72 65 73   a.string repres
219b0 65 6e 74 61 74 69 6f 6e 20 74 68 61 74 20 70 6f  entation that po
219c0 69 6e 74 73 20 74 6f 20 61 20 73 68 61 72 65 64  ints to a shared
219d0 20 68 65 61 70 20 73 74 72 69 6e 67 20 6f 66 20   heap string of 
219e0 6c 65 6e 67 74 68 20 31 2e 20 28 54 68 65 79 0a  length 1. (They.
219f0 75 73 65 64 20 74 6f 20 68 61 76 65 20 4e 55 4c  used to have NUL
21a00 4c 20 62 79 74 65 73 20 61 6e 64 20 74 79 70 65  L bytes and type
21a10 50 74 72 20 66 69 65 6c 64 73 2e 20 54 68 69 73  Ptr fields. This
21a20 20 77 61 73 20 74 72 65 61 74 65 64 20 61 73 20   was treated as 
21a30 61 20 73 70 65 63 69 61 6c 0a 63 61 73 65 20 74  a special.case t
21a40 6f 20 69 6e 64 69 63 61 74 65 20 61 6e 20 65 6d  o indicate an em
21a50 70 74 79 20 73 74 72 69 6e 67 2c 20 62 75 74 20  pty string, but 
21a60 6d 61 64 65 20 74 79 70 65 20 6d 61 6e 61 67 65  made type manage
21a70 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e  r implementation
21a80 73 0a 63 6f 6d 70 6c 65 78 20 61 6e 64 20 65 72  s.complex and er
21a90 72 6f 72 20 70 72 6f 6e 65 2e 29 20 54 68 65 20  ror prone.) The 
21aa0 6e 65 77 20 70 72 6f 63 65 64 75 72 65 20 54 63  new procedure Tc
21ab0 6c 5f 49 6e 76 61 6c 69 64 61 74 65 53 74 72 69  l_InvalidateStri
21ac0 6e 67 52 65 70 20 69 73 20 75 73 65 64 0a 74 6f  ngRep is used.to
21ad0 20 6d 61 72 6b 20 61 6e 20 6f 62 6a 65 63 74 27   mark an object'
21ae0 73 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65  s string represe
21af0 6e 74 61 74 69 6f 6e 20 69 6e 76 61 6c 69 64 20  ntation invalid 
21b00 61 6e 64 20 74 6f 20 66 72 65 65 20 61 6e 79 20  and to free any 
21b10 73 74 6f 72 61 67 65 0a 61 73 73 6f 63 69 61 74  storage.associat
21b20 65 64 20 77 69 74 68 20 74 68 65 20 6f 6c 64 20  ed with the old 
21b30 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74  string represent
21b40 61 74 69 6f 6e 2e 20 28 42 4c 29 0a 2a 2a 2a 20  ation. (BL).*** 
21b50 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50  POTENTIAL INCOMP
21b60 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20 54  ATIBILITY with T
21b70 63 6c 20 38 2e 30 62 31 2c 20 62 75 74 20 6e 6f  cl 8.0b1, but no
21b80 74 20 77 69 74 68 20 54 63 6c 37 2e 36 20 2a 2a  t with Tcl7.6 **
21b90 2a 0a 0a 36 2f 31 36 2f 39 37 20 28 62 75 67 20  *..6/16/97 (bug 
21ba0 66 69 78 29 20 54 63 6c 5f 53 63 61 6e 43 6f 75  fix) Tcl_ScanCou
21bb0 6e 74 65 64 45 6c 65 6d 65 6e 74 20 63 6f 75 6c  ntedElement coul
21bc0 64 20 6c 65 61 76 65 20 62 72 61 63 65 73 20 75  d leave braces u
21bd0 6e 6d 61 74 63 68 65 64 0a 69 66 20 74 68 65 20  nmatched.if the 
21be0 73 74 72 69 6e 67 20 65 6e 64 65 64 20 77 69 74  string ended wit
21bf0 68 20 61 20 62 61 63 6b 73 6c 61 73 68 2e 20 28  h a backslash. (
21c00 4a 4f 29 0a 0a 36 2f 31 37 2f 39 37 20 28 62 75  JO)..6/17/97 (bu
21c10 67 20 66 69 78 29 20 46 69 78 65 64 20 63 68 61  g fix) Fixed cha
21c20 6e 6e 65 6c 20 65 76 65 6e 74 20 62 75 67 20 77  nnel event bug w
21c30 68 65 72 65 20 72 65 61 64 61 62 6c 65 20 65 76  here readable ev
21c40 65 6e 74 73 20 77 6f 75 6c 64 20 62 65 0a 6c 6f  ents would be.lo
21c50 73 74 20 64 75 72 69 6e 67 20 72 65 63 75 72 73  st during recurs
21c60 69 76 65 20 65 76 65 6e 74 73 20 6c 6f 6f 70 73  ive events loops
21c70 20 69 66 20 74 68 65 20 69 6e 70 75 74 20 62 75   if the input bu
21c80 66 66 65 72 73 20 63 6f 6e 74 61 69 6e 65 64 0a  ffers contained.
21c90 64 61 74 61 2e 20 28 53 53 29 0a 0a 36 2f 31 37  data. (SS)..6/17
21ca0 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69  /97 (bug fix) Fi
21cb0 78 65 64 20 62 75 67 20 69 6e 20 57 69 6e 64 6f  xed bug in Windo
21cc0 77 73 20 73 6f 63 6b 65 74 20 63 6f 64 65 20 74  ws socket code t
21cd0 68 61 74 20 64 69 64 6e 27 74 0a 72 65 65 6e 61  hat didn't.reena
21ce0 62 6c 65 20 72 65 61 64 20 65 76 65 6e 74 73 20  ble read events 
21cf0 69 6e 20 74 68 65 20 63 61 73 65 20 77 68 65 72  in the case wher
21d00 65 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 65 6e  e an external en
21d10 74 69 74 79 20 69 73 20 61 6c 73 6f 0a 72 65 61  tity is also.rea
21d20 64 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 73 6f  ding from the so
21d30 63 6b 65 74 2e 20 28 53 53 29 0a 0a 36 2f 31 38  cket. (SS)..6/18
21d40 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 43 68  /97 (bug fix) Ch
21d50 61 6e 67 65 64 20 69 6e 69 74 69 61 6c 20 73 65  anged initial se
21d60 74 74 69 6e 67 20 6f 66 20 74 68 65 20 6e 6f 74  tting of the not
21d70 69 66 69 65 72 20 73 65 72 76 69 63 65 20 6d 6f  ifier service mo
21d80 64 65 0a 74 6f 20 54 43 4c 5f 53 45 52 56 49 43  de.to TCL_SERVIC
21d90 45 5f 4e 4f 4e 45 20 74 6f 20 61 76 6f 69 64 20  E_NONE to avoid 
21da0 75 6e 65 78 70 65 63 74 65 64 20 65 76 65 6e 74  unexpected event
21db0 20 68 61 6e 64 6c 69 6e 67 20 64 75 72 69 6e 67   handling during
21dc0 0a 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2e  .initialization.
21dd0 20 28 53 53 29 0a 0a 36 2f 31 39 2f 39 37 20 28   (SS)..6/19/97 (
21de0 62 75 67 20 66 69 78 2f 66 65 61 74 75 72 65 20  bug fix/feature 
21df0 63 68 61 6e 67 65 29 20 54 68 65 20 63 6f 6d 6d  change) The comm
21e00 61 6e 64 20 63 61 6c 6c 62 61 63 6b 20 74 6f 20  and callback to 
21e10 66 63 6f 70 79 20 69 73 20 6e 6f 77 0a 63 61 6c  fcopy is now.cal
21e20 6c 65 64 20 69 6e 20 63 61 73 65 20 6f 66 20 65  led in case of e
21e30 72 72 6f 72 73 20 64 75 72 69 6e 67 20 74 68 65  rrors during the
21e40 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 70 79   background copy
21e50 2e 20 20 54 68 69 73 20 61 64 64 73 20 61 20 73  .  This adds a s
21e60 65 63 6f 6e 64 2c 0a 6f 70 74 69 6f 6e 61 6c 20  econd,.optional 
21e70 61 72 67 75 6d 65 6e 74 20 74 6f 20 74 68 65 20  argument to the 
21e80 63 61 6c 6c 62 61 63 6b 20 74 68 61 74 20 69 73  callback that is
21e90 20 74 68 65 20 65 72 72 6f 72 20 73 74 72 69 6e   the error strin
21ea0 67 2e 20 20 54 68 65 20 63 61 6c 6c 62 61 63 6b  g.  The callback
21eb0 0a 69 6e 20 63 61 73 65 20 6f 66 20 65 72 72 6f  .in case of erro
21ec0 72 73 20 69 73 20 72 65 71 75 69 72 65 64 20 66  rs is required f
21ed0 6f 72 20 70 72 6f 70 65 72 20 63 6c 65 61 6e 75  or proper cleanu
21ee0 70 20 62 79 20 74 68 65 20 75 73 65 72 20 6f 66  p by the user of
21ef0 20 66 63 6f 70 79 2e 20 28 42 57 29 0a 2a 2a 2a   fcopy. (BW).***
21f00 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
21f10 50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20  PATIBILITY with 
21f20 54 63 6c 20 38 2e 30 62 31 2c 20 62 75 74 20 6e  Tcl 8.0b1, but n
21f30 6f 74 20 77 69 74 68 20 54 63 6c 20 37 2e 36 20  ot with Tcl 7.6 
21f40 2a 2a 2a 0a 0a 36 2f 31 39 2f 39 37 20 28 62 75  ***..6/19/97 (bu
21f50 67 20 66 69 78 29 20 46 69 78 65 64 20 61 20 70  g fix) Fixed a p
21f60 61 6e 69 63 20 64 75 65 20 74 6f 20 74 68 65 20  anic due to the 
21f70 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 75 72 20 6c  following four l
21f80 69 6e 65 20 73 63 72 69 70 74 3a 0a 09 69 6e 74  ine script:..int
21f90 65 72 70 20 63 72 65 61 74 65 20 78 0a 09 78 20  erp create x..x 
21fa0 61 6c 69 61 73 20 66 6f 6f 20 62 61 72 0a 09 78  alias foo bar..x
21fb0 20 65 76 61 6c 20 72 65 6e 61 6d 65 20 66 6f 6f   eval rename foo
21fc0 20 62 6c 6f 74 7a 0a 09 78 20 61 6c 69 61 73 20   blotz..x alias 
21fd0 66 6f 6f 20 7b 7d 0a 54 68 65 20 70 72 6f 62 6c  foo {}.The probl
21fe0 65 6d 20 77 61 73 20 74 68 61 74 20 74 68 65 20  em was that the 
21ff0 69 6e 74 65 72 70 20 63 6f 64 65 20 77 61 73 20  interp code was 
22000 6e 6f 74 20 75 73 69 6e 67 20 74 68 65 20 61 63  not using the ac
22010 74 75 61 6c 20 63 75 72 72 65 6e 74 20 6e 61 6d  tual current nam
22020 65 0a 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e 64  e.of the command
22030 20 74 6f 20 62 65 20 64 65 6c 65 74 65 64 20 61   to be deleted a
22040 73 20 61 20 72 65 73 75 6c 74 20 6f 66 20 75 6e  s a result of un
22050 2d 61 6c 69 61 73 69 6e 67 20 66 6f 6f 2e 20 28  -aliasing foo. (
22060 4a 4c 29 0a 0a 36 2f 31 39 2f 39 37 20 28 66 65  JL)..6/19/97 (fe
22070 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 50 61  ature change) Pa
22080 73 73 20 69 6e 74 65 72 70 20 64 6f 77 6e 20 74  ss interp down t
22090 6f 20 74 68 65 20 43 68 61 6e 6e 65 6c 4f 70 74  o the ChannelOpt
220a0 69 6f 6e 20 61 6e 64 0a 64 72 69 76 65 72 20 73  ion and.driver s
220b0 70 65 63 69 66 69 63 20 63 61 6c 6c 73 20 73 6f  pecific calls so
220c0 20 73 79 73 74 65 6d 20 65 72 72 6f 72 73 20 63   system errors c
220d0 61 6e 20 62 65 20 64 69 66 66 65 72 65 6e 74 69  an be differenti
220e0 61 74 65 64 20 66 72 6f 6d 20 73 79 6e 74 61 78  ated from syntax
220f0 0a 6f 6e 65 73 2e 20 43 68 61 6e 67 65 64 20 54  .ones. Changed T
22100 63 6c 5f 44 72 69 76 65 72 47 65 74 4f 70 74 69  cl_DriverGetOpti
22110 6f 6e 50 72 6f 63 20 74 79 70 65 2e 20 41 66 66  onProc type. Aff
22120 65 63 74 73 20 54 63 6c 5f 47 65 74 43 68 61 6e  ects Tcl_GetChan
22130 6e 65 6c 4f 70 74 69 6f 6e 2c 0a 54 63 70 47 65  nelOption,.TcpGe
22140 74 4f 70 74 69 6f 6e 50 72 6f 63 2c 20 20 54 74  tOptionProc,  Tt
22150 79 47 65 74 4f 70 74 69 6f 6e 50 72 6f 63 2c 20  yGetOptionProc, 
22160 65 74 63 2e 20 28 44 4c 29 0a 2a 2a 2a 20 50 4f  etc. (DL).*** PO
22170 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
22180 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 36 2f 31  IBILITY ***..6/1
22190 39 2f 39 37 20 28 6e 65 77 20 66 65 61 74 75 72  9/97 (new featur
221a0 65 29 20 41 64 64 65 64 20 54 63 6c 5f 42 61 64  e) Added Tcl_Bad
221b0 43 68 61 6e 6e 65 6c 4f 70 74 69 6f 6e 20 66 6f  ChannelOption fo
221c0 72 20 75 73 65 20 62 79 20 62 79 20 64 72 69 76  r use by by driv
221d0 65 72 0a 73 70 65 63 69 66 69 63 20 6f 70 74 69  er.specific opti
221e0 6f 6e 20 70 72 6f 63 65 64 75 72 65 73 20 28 53  on procedures (S
221f0 65 74 20 61 6e 64 20 47 65 74 29 20 74 6f 20 72  et and Get) to r
22200 65 74 75 72 6e 20 61 20 63 6f 6d 70 6c 65 74 65  eturn a complete
22210 20 61 6e 64 0a 6d 65 61 6e 69 6e 67 66 75 6c 20   and.meaningful 
22220 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 20 28  error message. (
22230 44 4c 29 0a 0a 36 2f 31 39 2f 39 37 20 28 62 75  DL)..6/19/97 (bu
22240 67 20 66 69 78 65 73 29 20 49 66 20 61 20 73 79  g fixes) If a sy
22250 73 74 65 6d 20 63 61 6c 6c 20 65 72 72 6f 72 20  stem call error 
22260 6f 63 63 75 72 73 20 77 68 69 6c 65 20 64 6f 69  occurs while doi
22270 6e 67 20 61 6e 0a 66 63 6f 6e 66 69 67 75 72 65  ng an.fconfigure
22280 20 6f 6e 20 74 63 70 20 6f 72 20 74 74 79 2f 63   on tcp or tty/c
22290 6f 6d 20 63 68 61 6e 6e 65 6c 3a 20 72 65 74 75  om channel: retu
222a0 72 6e 20 74 68 65 20 61 70 70 72 6f 70 72 69 61  rn the appropria
222b0 74 65 20 65 72 72 6f 72 0a 6d 65 73 73 61 67 65  te error.message
222c0 20 28 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65   (instead of the
222d0 20 73 79 6e 74 61 78 20 65 72 72 6f 72 20 6f 6e   syntax error on
222e0 65 20 6f 72 20 6e 6f 6e 65 29 2e 20 28 46 69 78  e or none). (Fix
222f0 65 64 20 66 6f 72 20 55 6e 69 78 20 61 6e 64 0a  ed for Unix and.
22300 6d 6f 73 74 20 6f 66 20 74 68 65 20 57 69 6e 20  most of the Win 
22310 61 6e 64 20 4d 61 63 20 64 72 69 76 65 72 73 29  and Mac drivers)
22320 2e 20 28 44 4c 29 0a 0a 36 2f 32 30 2f 39 37 20  . (DL)..6/20/97 
22330 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29  (feature change)
22340 20 45 76 61 6c 20 69 73 20 6e 6f 20 6c 6f 6e 67   Eval is no long
22350 65 72 20 61 73 73 75 6d 65 64 20 61 73 20 74 68  er assumed as th
22360 65 20 73 75 62 63 6f 6d 6d 61 6e 64 20 6e 61 6d  e subcommand nam
22370 65 0a 69 6e 20 6e 61 6d 65 73 70 61 63 65 20 63  e.in namespace c
22380 6f 6d 6d 61 6e 64 73 3a 20 79 6f 75 20 6d 75 73  ommands: you mus
22390 74 20 6e 6f 77 20 77 72 69 74 65 20 22 6e 61 6d  t now write "nam
223a0 65 73 70 61 63 65 20 65 76 61 6c 20 6e 73 4e 61  espace eval nsNa
223b0 6d 65 20 7b 2e 2e 2e 7d 22 2e 0a 41 62 62 72 65  me {...}"..Abbre
223c0 76 69 61 74 69 6f 6e 73 20 6f 66 20 6e 61 6d 65  viations of name
223d0 73 70 61 63 65 20 73 75 62 63 6f 6d 6d 61 6e 64  space subcommand
223e0 20 6e 61 6d 65 73 20 61 72 65 20 6e 6f 77 20 61   names are now a
223f0 6c 6c 6f 77 65 64 2e 20 28 42 4c 29 0a 2a 2a 2a  llowed. (BL).***
22400 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
22410 50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20  PATIBILITY with 
22420 54 63 6c 20 38 2e 30 62 31 2c 20 62 75 74 20 6e  Tcl 8.0b1, but n
22430 6f 74 20 77 69 74 68 20 54 63 6c 37 2e 36 20 2a  ot with Tcl7.6 *
22440 2a 2a 0a 0a 36 2f 32 30 2f 39 37 20 28 66 65 61  **..6/20/97 (fea
22450 74 75 72 65 20 63 68 61 6e 67 65 29 20 43 68 61  ture change) Cha
22460 6e 67 65 64 20 74 68 65 20 65 72 72 6f 72 49 6e  nged the errorIn
22470 66 6f 20 74 72 61 63 65 62 61 63 6b 20 6d 65 73  fo traceback mes
22480 73 61 67 65 20 66 6f 72 0a 63 6f 6d 70 69 6c 61  sage for.compila
22490 74 69 6f 6e 20 65 72 72 6f 72 73 20 66 72 6f 6d  tion errors from
224a0 20 22 69 6e 76 6f 6b 65 64 20 66 72 6f 6d 20 77   "invoked from w
224b0 69 74 68 69 6e 22 20 74 6f 20 22 77 68 69 6c 65  ithin" to "while
224c0 20 63 6f 6d 70 69 6c 69 6e 67 22 2e 20 28 42 4c   compiling". (BL
224d0 29 0a 0a 36 2f 32 30 2f 39 37 20 28 62 75 67 20  )..6/20/97 (bug 
224e0 66 69 78 65 73 29 20 46 69 78 65 64 20 76 61 72  fixes) Fixed var
224f0 69 6f 75 73 20 63 6f 6d 70 69 6c 61 74 69 6f 6e  ious compilation
22500 2d 72 65 6c 61 74 65 64 20 62 75 67 73 3a 0a 20  -related bugs:. 
22510 20 20 20 2d 20 22 55 70 64 61 74 65 53 74 72 69     - "UpdateStri
22520 6e 67 4f 66 43 6d 64 4e 61 6d 65 20 73 68 6f 75  ngOfCmdName shou
22530 6c 64 20 6e 65 76 65 72 20 62 65 20 63 61 6c 6c  ld never be call
22540 65 64 22 20 61 6e 64 0a 20 20 20 20 20 20 22 55  ed" and.      "U
22550 70 64 61 74 65 53 74 72 69 6e 67 4f 66 42 79 74  pdateStringOfByt
22560 65 43 6f 64 65 20 73 68 6f 75 6c 64 20 6e 65 76  eCode should nev
22570 65 72 20 62 65 20 63 61 6c 6c 65 64 22 20 70 61  er be called" pa
22580 6e 69 63 73 2e 0a 20 20 20 20 2d 20 53 65 67 66  nics..    - Segf
22590 61 75 6c 74 20 69 6e 20 54 63 6c 4f 62 6a 49 6e  ault in TclObjIn
225a0 74 65 72 70 50 72 6f 63 20 67 65 74 74 69 6e 67  terpProc getting
225b0 20 70 72 6f 63 65 64 75 72 65 20 6e 61 6d 65 20   procedure name 
225c0 61 66 74 65 72 20 65 76 61 6c 75 61 74 69 6f 6e  after evaluation
225d0 0a 20 20 20 20 20 20 73 74 61 63 6b 20 69 73 20  .      stack is 
225e0 72 65 61 6c 6c 6f 63 61 74 65 64 20 28 67 72 6f  reallocated (gro
225f0 77 6e 29 2e 0a 20 20 20 20 2d 20 43 6f 75 6c 64  wn)..    - Could
22600 20 6e 6f 74 20 75 73 65 20 22 3a 22 20 61 74 20   not use ":" at 
22610 65 6e 64 20 6f 66 20 76 61 72 69 61 62 6c 65 20  end of variable 
22620 61 6e 64 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d 65  and command name
22630 73 2e 0a 20 20 20 20 2d 20 42 61 64 20 63 6f 64  s..    - Bad cod
22640 65 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20  e generated for 
22650 77 68 69 6c 65 20 61 6e 64 20 66 6f 72 20 63 6f  while and for co
22660 6d 6d 61 6e 64 73 20 77 69 74 68 20 74 65 73 74  mmands with test
22670 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 20 20 20   expressions.   
22680 20 20 20 65 6e 63 6c 6f 73 65 64 20 69 6e 20 71     enclosed in q
22690 75 6f 74 65 73 3a 20 65 2e 67 2e 2c 20 22 73 65  uotes: e.g., "se
226a0 74 20 69 20 30 3b 20 77 68 69 6c 65 20 22 24 69  t i 0; while "$i
226b0 20 3e 20 35 22 20 7b 7d 22 2e 0a 20 20 20 20 2d   > 5" {}"..    -
226c0 20 43 6f 6d 6d 61 6e 64 20 74 72 61 63 65 20 70   Command trace p
226d0 72 6f 63 65 64 75 72 65 73 20 77 6f 75 6c 64 20  rocedures would 
226e0 63 72 61 73 68 20 69 66 20 74 68 65 79 20 64 69  crash if they di
226f0 64 20 61 20 54 63 6c 5f 45 76 61 6c 4f 62 6a 20  d a Tcl_EvalObj 
22700 74 68 61 74 0a 20 20 20 20 20 20 72 65 61 6c 6c  that.      reall
22710 6f 63 61 74 65 64 20 74 68 65 20 65 76 61 6c 75  ocated the evalu
22720 61 74 69 6f 6e 20 73 74 61 63 6b 2e 0a 20 20 20  ation stack..   
22730 20 2d 20 42 72 65 61 6b 20 61 6e 64 20 63 6f 6e   - Break and con
22740 74 69 6e 75 65 20 63 6f 6d 6d 61 6e 64 73 20 64  tinue commands d
22750 69 64 20 6e 6f 74 20 72 65 73 65 74 20 74 68 65  id not reset the
22760 20 69 6e 74 65 72 70 72 65 74 65 72 20 72 65 73   interpreter res
22770 75 6c 74 2e 0a 20 20 20 20 2d 20 54 68 65 20 54  ult..    - The T
22780 63 6c 5f 45 78 70 72 58 58 58 20 72 6f 75 74 69  cl_ExprXXX routi
22790 6e 65 73 2c 20 62 6f 74 68 20 73 74 72 69 6e 67  nes, both string
227a0 2d 20 6f 72 20 6f 62 6a 65 63 74 2d 62 61 73 65  - or object-base
227b0 64 2c 20 61 6c 77 61 79 73 0a 20 20 20 20 20 20  d, always.      
227c0 6d 6f 64 69 66 69 65 64 20 74 68 65 20 69 6e 74  modified the int
227d0 65 72 70 72 65 74 65 72 20 72 65 73 75 6c 74 20  erpreter result 
227e0 65 76 65 6e 20 69 66 20 74 68 65 72 65 20 77 61  even if there wa
227f0 73 20 6e 6f 20 65 72 72 6f 72 2e 0a 20 20 20 20  s no error..    
22800 2d 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 70  - The argument p
22810 61 72 73 69 6e 67 20 70 72 6f 63 65 64 75 72 65  arsing procedure
22820 20 75 73 65 64 20 62 79 20 73 65 76 65 72 61 6c   used by several
22830 20 63 6f 6d 70 69 6c 65 20 70 72 6f 63 65 64 75   compile procedu
22840 72 65 73 0a 20 20 20 20 20 20 61 6c 77 61 79 73  res.      always
22850 20 74 72 65 61 74 65 64 20 22 5d 22 20 61 73 20   treated "]" as 
22860 65 6e 64 20 6f 66 20 61 20 63 6f 6d 6d 61 6e 64  end of a command
22870 3a 20 65 2e 67 2e 2c 20 22 73 65 74 20 61 20 5d  : e.g., "set a ]
22880 22 20 77 6f 75 6c 64 20 66 61 69 6c 2e 0a 20 20  " would fail..  
22890 20 20 2d 20 43 68 61 6e 67 65 64 20 65 72 72 6f    - Changed erro
228a0 72 49 6e 66 6f 20 74 72 61 63 65 62 61 63 6b 20  rInfo traceback 
228b0 6d 65 73 73 61 67 65 20 66 6f 72 20 63 6f 6d 70  message for comp
228c0 69 6c 61 74 69 6f 6e 20 65 72 72 6f 72 73 20 66  ilation errors f
228d0 72 6f 6d 20 0a 20 20 20 20 20 20 22 69 6e 76 6f  rom .      "invo
228e0 6b 65 64 20 66 72 6f 6d 20 77 69 74 68 69 6e 22  ked from within"
228f0 20 74 6f 20 22 77 68 69 6c 65 20 63 6f 6d 70 69   to "while compi
22900 6c 69 6e 67 22 2e 0a 20 20 20 20 2d 20 50 72 6f  ling"..    - Pro
22910 62 6c 65 6d 20 69 6e 69 74 69 61 6c 69 7a 69 6e  blem initializin
22920 67 20 54 63 6c 20 6f 62 6a 65 63 74 20 6d 61 6e  g Tcl object man
22930 61 67 65 72 73 20 64 75 72 69 6e 67 20 69 6e 74  agers during int
22940 65 72 70 72 65 74 65 72 20 63 72 65 61 74 69 6f  erpreter creatio
22950 6e 2e 0a 20 20 20 20 2d 20 41 64 64 65 64 20 63  n..    - Added c
22960 68 65 63 6b 20 61 6e 64 20 65 72 72 6f 72 20 6d  heck and error m
22970 65 73 73 61 67 65 20 69 66 20 66 6f 72 6d 61 6c  essage if formal
22980 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 61 20   parameter to a 
22990 70 72 6f 63 65 64 75 72 65 20 69 73 0a 20 20 20  procedure is.   
229a0 20 20 20 61 6e 20 61 72 72 61 79 20 65 6c 65 6d     an array elem
229b0 65 6e 74 2e 20 28 42 4c 29 0a 0a 36 2f 32 33 2f  ent. (BL)..6/23/
229c0 39 37 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  97 (new feature)
229d0 20 41 64 64 65 64 20 22 72 65 67 69 73 74 72 79   Added "registry
229e0 22 20 70 61 63 6b 61 67 65 20 74 6f 20 61 6c 6c  " package to all
229f0 6f 77 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 0a  ow manipulation.
22a00 6f 66 20 74 68 65 20 57 69 6e 64 6f 77 73 20 73  of the Windows s
22a10 79 73 74 65 6d 20 72 65 67 69 73 74 72 79 2e 20  ystem registry. 
22a20 20 53 65 65 20 6d 61 6e 75 61 6c 20 65 6e 74 72   See manual entr
22a30 79 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 20 28  y for details. (
22a40 53 53 29 0a 0a 36 2f 32 34 2f 39 37 20 28 66 65  SS)..6/24/97 (fe
22a50 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 43 6f  ature change) Co
22a60 6e 76 65 72 74 65 64 20 68 74 74 70 20 74 6f 20  nverted http to 
22a70 61 20 70 61 63 6b 61 67 65 20 61 6e 64 20 61 64  a package and ad
22a80 64 65 64 20 74 68 65 0a 68 74 74 70 31 2e 30 20  ded the.http1.0 
22a90 73 75 62 64 69 72 65 63 74 6f 72 79 20 6f 66 20  subdirectory of 
22aa0 74 68 65 20 54 63 6c 20 73 63 72 69 70 74 20 6c  the Tcl script l
22ab0 69 62 72 61 72 79 2e 20 20 54 68 69 73 20 6d 65  ibrary.  This me
22ac0 61 6e 73 20 79 6f 75 20 68 61 76 65 0a 74 6f 20  ans you have.to 
22ad0 64 6f 20 61 20 22 70 61 63 6b 61 67 65 20 72 65  do a "package re
22ae0 71 75 69 72 65 20 68 74 74 70 22 20 74 6f 20 75  quire http" to u
22af0 73 65 20 74 68 69 73 2c 20 61 73 20 61 64 76 65  se this, as adve
22b00 72 74 69 73 65 64 20 69 6e 20 74 68 65 20 6d 61  rtised in the ma
22b10 6e 20 70 61 67 65 2e 20 28 42 57 29 0a 2a 2a 2a  n page. (BW).***
22b20 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
22b30 50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20  PATIBILITY with 
22b40 54 63 6c 20 38 2e 30 62 31 2c 20 62 75 74 20 6e  Tcl 8.0b1, but n
22b50 6f 74 20 77 69 74 68 20 54 63 6c 20 37 2e 36 20  ot with Tcl 7.6 
22b60 2a 2a 2a 0a 0a 36 2f 32 34 2f 39 37 20 28 62 75  ***..6/24/97 (bu
22b70 67 20 66 69 78 29 20 45 6e 73 75 72 65 20 74 68  g fix) Ensure th
22b80 61 74 20 54 63 6c 5f 53 65 74 2f 47 65 74 56 61  at Tcl_Set/GetVa
22b90 72 20 43 20 41 50 49 73 2c 20 77 68 65 6e 20 63  r C APIs, when c
22ba0 61 6c 6c 65 64 20 77 69 74 68 6f 75 74 0a 54 43  alled without.TC
22bb0 4c 5f 4c 45 41 56 45 5f 45 52 52 5f 4d 53 47 2c  L_LEAVE_ERR_MSG,
22bc0 20 64 6f 6e 27 74 20 74 6f 75 63 68 20 74 68 65   don't touch the
22bd0 20 69 6e 74 65 72 70 20 72 65 73 75 6c 74 2e 20   interp result. 
22be0 28 44 4c 29 0a 0a 36 2f 32 36 2f 39 37 20 28 66  (DL)..6/26/97 (f
22bf0 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 43  eature change) C
22c00 68 61 6e 67 65 64 20 6e 61 6d 65 20 6f 66 20 54  hanged name of T
22c10 63 6c 5f 45 78 70 72 53 74 72 69 6e 67 4f 62 6a  cl_ExprStringObj
22c20 20 74 6f 0a 54 63 6c 5f 45 78 70 72 4f 62 6a 2e   to.Tcl_ExprObj.
22c30 20 28 42 4c 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54   (BL).*** POTENT
22c40 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
22c50 49 54 59 20 77 69 74 68 20 54 63 6c 20 38 2e 30  ITY with Tcl 8.0
22c60 62 31 2c 20 62 75 74 20 6e 6f 74 20 77 69 74 68  b1, but not with
22c70 20 54 63 6c 20 37 2e 36 20 2a 2a 2a 0a 0a 2d 2d   Tcl 7.6 ***..--
22c80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20  --------------- 
22c90 52 65 6c 65 61 73 65 64 20 38 2e 30 62 32 2c 20  Released 8.0b2, 
22ca0 36 2f 33 30 2f 39 37 20 2d 2d 2d 2d 2d 2d 2d 2d  6/30/97 --------
22cb0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a  ---------------.
22cc0 0a 37 2f 31 2f 39 37 20 28 6e 65 77 20 66 65 61  .7/1/97 (new fea
22cd0 74 75 72 65 29 20 54 43 4c 5f 42 55 49 4c 44 5f  ture) TCL_BUILD_
22ce0 53 48 41 52 45 44 20 66 6c 61 67 20 73 65 74 20  SHARED flag set 
22cf0 69 6e 20 74 63 6c 43 6f 6e 66 69 67 2e 73 68 0a  in tclConfig.sh.
22d00 77 68 65 6e 20 54 63 6c 20 68 61 73 20 62 65 65  when Tcl has bee
22d10 6e 20 62 75 69 6c 74 20 77 69 74 68 20 2d 2d 65  n built with --e
22d20 6e 61 62 6c 65 2d 73 68 61 72 65 64 2e 20 41 20  nable-shared. A 
22d30 6e 65 77 20 74 63 6c 4c 69 62 4f 62 6a 73 0a 6d  new tclLibObjs.m
22d40 61 6b 65 20 74 61 72 67 65 74 2c 20 65 63 68 6f  ake target, echo
22d50 69 6e 67 20 74 68 65 20 6c 69 73 74 20 6f 66 20  ing the list of 
22d60 74 68 65 20 2e 6f 27 73 20 6e 65 65 64 65 64 20  the .o's needed 
22d70 74 6f 20 62 75 69 6c 64 20 61 20 74 63 6c 0a 6c  to build a tcl.l
22d80 69 62 72 61 72 79 2c 20 69 73 20 6e 6f 77 20 70  ibrary, is now p
22d90 72 6f 76 69 64 65 64 2e 20 28 44 4c 29 0a 0a 37  rovided. (DL)..7
22da0 2f 31 2f 39 37 20 28 66 65 61 74 75 72 65 20 63  /1/97 (feature c
22db0 68 61 6e 67 65 29 20 63 6f 6d 70 61 74 2f 67 65  hange) compat/ge
22dc0 74 63 77 64 2e 63 20 72 65 6d 6f 76 65 64 20 61  tcwd.c removed a
22dd0 6e 64 20 63 68 61 6e 67 65 64 20 74 68 65 0a 6f  nd changed the.o
22de0 6e 6c 79 20 70 6c 61 63 65 20 77 68 65 72 65 20  nly place where 
22df0 67 65 74 63 77 64 20 69 73 20 75 73 65 64 20 73  getcwd is used s
22e00 6f 20 61 20 6e 65 77 20 55 53 45 47 45 54 57 44  o a new USEGETWD
22e10 20 66 6c 61 67 20 73 65 6c 65 63 74 73 0a 74 68   flag selects.th
22e20 65 20 75 73 65 20 6f 66 20 74 68 65 20 72 65 70  e use of the rep
22e30 6c 61 63 65 6d 65 6e 74 20 22 67 65 74 77 64 22  lacement "getwd"
22e40 2e 20 41 64 64 69 6e 67 20 74 68 69 73 20 66 6c  . Adding this fl
22e50 61 67 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65  ag is recommende
22e60 64 0a 66 6f 72 20 53 75 6e 4f 53 20 34 20 28 62  d.for SunOS 4 (b
22e70 65 63 61 75 73 65 20 67 65 74 63 77 64 20 6f 6e  ecause getcwd on
22e80 20 53 75 6e 4f 53 20 34 20 75 73 65 73 20 61 20   SunOS 4 uses a 
22e90 70 69 70 65 20 74 6f 20 70 77 64 28 31 29 21 29  pipe to pwd(1)!)
22ea0 2e 20 28 44 4c 29 0a 0a 37 2f 37 2f 39 37 20 28  . (DL)..7/7/97 (
22eb0 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20  feature change) 
22ec0 54 68 65 20 73 70 6c 69 74 20 63 6f 6d 6d 61 6e  The split comman
22ed0 64 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 62  d now supports b
22ee0 69 6e 61 72 79 20 64 61 74 61 20 28 69 2e 65 2e  inary data (i.e.
22ef0 2c 0a 6e 75 6c 6c 20 63 68 61 72 61 63 74 65 72  ,.null character
22f00 73 20 69 6e 20 73 74 72 69 6e 67 73 29 2e 20 28  s in strings). (
22f10 42 4c 29 0a 0a 37 2f 37 2f 39 37 20 28 62 75 67  BL)..7/7/97 (bug
22f20 20 66 69 78 29 20 73 74 72 69 6e 67 20 66 69 72   fix) string fir
22f30 73 74 20 72 65 74 75 72 6e 65 64 20 74 68 65 20  st returned the 
22f40 77 72 6f 6e 67 20 72 65 73 75 6c 74 20 69 66 20  wrong result if 
22f50 74 68 65 20 66 69 72 73 74 0a 61 72 67 75 6d 65  the first.argume
22f60 6e 74 20 73 74 72 69 6e 67 20 77 61 73 20 65 6d  nt string was em
22f70 70 74 79 2e 20 28 42 4c 29 0a 0a 37 2f 38 2f 39  pty. (BL)..7/8/9
22f80 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  7 (bug fix) Fixe
22f90 64 20 63 6f 72 65 20 64 75 6d 70 20 69 6e 20 66  d core dump in f
22fa0 63 6f 70 79 20 74 68 61 74 20 63 6f 75 6c 64 20  copy that could 
22fb0 6f 63 63 75 72 20 77 68 65 6e 20 61 20 63 6f 6d  occur when a com
22fc0 6d 61 6e 64 0a 63 61 6c 6c 62 61 63 6b 20 77 61  mand.callback wa
22fd0 73 20 73 75 70 70 6c 69 65 64 20 61 6e 64 20 61  s supplied and a
22fe0 6e 20 65 72 72 6f 72 20 6f 72 20 65 6f 66 20 63  n error or eof c
22ff0 6f 6e 64 69 74 69 6f 6e 20 63 61 75 73 65 64 20  ondition caused 
23000 6e 6f 20 62 61 63 6b 67 72 6f 75 6e 64 0a 61 63  no background.ac
23010 74 69 76 69 74 79 2e 20 20 41 20 72 65 66 63 6f  tivity.  A refco
23020 75 6e 74 20 62 75 67 20 74 72 69 67 67 65 72 65  unt bug triggere
23030 64 20 61 20 70 61 6e 69 63 20 69 6e 20 54 63 6c  d a panic in Tcl
23040 5f 4c 69 73 74 4f 62 6a 41 70 70 65 6e 64 45 6c  _ListObjAppendEl
23050 65 6d 65 6e 74 2e 20 28 42 57 29 0a 0a 37 2f 38  ement. (BW)..7/8
23060 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 52 65  /97 (bug fix) Re
23070 6c 61 78 65 64 20 74 68 65 20 70 61 74 74 65 72  laxed the patter
23080 6e 20 6d 61 74 63 68 69 6e 67 20 6f 6e 20 68 74  n matching on ht
23090 74 70 5f 67 65 74 20 73 6f 20 79 6f 75 20 64 6f  tp_get so you do
230a0 20 6e 6f 74 0a 6e 65 65 64 20 61 20 74 72 61 69   not.need a trai
230b0 6c 69 6e 67 20 70 61 74 68 20 63 6f 6d 70 6f 6e  ling path compon
230c0 65 6e 74 2e 20 20 59 6f 75 20 63 61 6e 20 6e 6f  ent.  You can no
230d0 77 20 67 65 74 20 61 77 61 79 20 77 69 74 68 20  w get away with 
230e0 6a 75 73 74 0a 68 74 74 70 5f 67 65 74 20 77 77  just.http_get ww
230f0 77 2e 73 63 72 69 70 74 69 63 73 2e 63 6f 6d 09  w.scriptics.com.
23100 09 09 09 09 28 42 57 29 0a 0a 37 2f 39 2f 39 37  ....(BW)..7/9/97
23110 20 28 62 75 67 20 66 69 78 29 20 43 72 65 61 74   (bug fix) Creat
23120 69 6e 67 20 61 6e 6f 6e 79 6d 6f 75 73 20 69 6e  ing anonymous in
23130 74 65 72 70 72 65 74 65 72 73 20 6e 6f 20 6c 6f  terpreters no lo
23140 6e 67 65 72 20 73 6d 61 73 68 65 73 20 65 78 69  nger smashes exi
23150 73 74 69 6e 67 0a 63 6f 6d 6d 61 6e 64 73 20 77  sting.commands w
23160 69 74 68 20 6e 61 6d 65 73 20 73 69 6d 69 6c 61  ith names simila
23170 72 20 74 6f 20 74 68 65 20 67 65 6e 65 72 61 74  r to the generat
23180 65 64 20 6e 61 6d 65 2e 20 50 72 65 76 69 6f 75  ed name. Previou
23190 73 6c 79 20 63 72 65 61 74 69 6e 67 20 61 6e 0a  sly creating an.
231a0 61 6e 6f 6e 79 6d 6f 75 73 20 69 6e 74 65 72 70  anonymous interp
231b0 72 65 74 65 72 20 63 6f 75 6c 64 20 73 6d 61 73  reter could smas
231c0 68 20 61 6e 20 65 78 69 73 74 69 6e 67 20 63 6f  h an existing co
231d0 6d 6d 61 6e 64 2c 20 6e 6f 77 20 69 74 20 73 6b  mmand, now it sk
231e0 69 70 73 20 75 6e 74 69 6c 0a 69 74 20 66 69 6e  ips until.it fin
231f0 64 73 20 61 20 63 6f 6d 6d 61 6e 64 20 6e 61 6d  ds a command nam
23200 65 20 74 68 61 74 20 69 73 6e 27 74 20 62 65 69  e that isn't bei
23210 6e 67 20 75 73 65 64 2e 20 28 4a 4c 29 0a 0a 37  ng used. (JL)..7
23220 2f 39 2f 39 37 20 28 66 65 61 74 75 72 65 20 63  /9/97 (feature c
23230 68 61 6e 67 65 29 20 52 65 6d 6f 76 65 64 20 74  hange) Removed t
23240 68 65 20 70 6f 6c 69 63 79 20 6d 61 6e 61 67 65  he policy manage
23250 6d 65 6e 74 20 6d 65 63 68 61 6e 69 73 6d 20 66  ment mechanism f
23260 72 6f 6d 20 74 68 65 0a 53 61 66 65 20 42 61 73  rom the.Safe Bas
23270 65 3b 20 6c 65 66 74 20 74 68 65 20 61 6c 69 61  e; left the alia
23280 73 65 73 20 74 6f 20 73 6f 75 72 63 65 20 61 6e  ses to source an
23290 64 20 6c 6f 61 64 20 6d 6f 64 75 6c 65 73 2c 20  d load modules, 
232a0 61 6e 64 20 74 6f 20 64 6f 20 61 20 6c 69 6d 69  and to do a limi
232b0 74 65 64 0a 66 6f 72 6d 20 6f 66 20 74 68 65 20  ted.form of the 
232c0 22 66 69 6c 65 22 20 63 6f 6d 6d 61 6e 64 2e 20  "file" command. 
232d0 53 65 65 20 65 6e 74 72 79 20 6f 66 20 31 31 2f  See entry of 11/
232e0 31 35 2f 39 36 2e 20 28 4a 4c 29 0a 0a 37 2f 39  15/96. (JL)..7/9
232f0 2f 39 37 20 28 62 75 67 20 66 69 78 65 73 29 20  /97 (bug fixes) 
23300 46 69 78 65 64 20 76 61 72 69 6f 75 73 20 63 6f  Fixed various co
23310 6d 70 69 6c 61 74 69 6f 6e 2d 72 65 6c 61 74 65  mpilation-relate
23320 64 20 62 75 67 73 3a 0a 20 20 20 20 2d 20 4c 69  d bugs:.    - Li
23330 6e 65 20 6e 75 6d 62 65 72 73 20 69 6e 20 65 72  ne numbers in er
23340 72 6f 72 49 6e 66 6f 20 6e 6f 77 20 61 72 65 20  rorInfo now are 
23350 74 68 65 20 73 61 6d 65 20 61 73 20 74 68 6f 73  the same as thos
23360 65 20 69 6e 20 54 63 6c 37 2e 36 20 75 6e 6c 65  e in Tcl7.6 unle
23370 73 73 0a 74 68 65 72 65 20 61 72 65 20 63 6f 6d  ss.there are com
23380 70 69 6c 61 74 69 6f 6e 20 65 72 72 6f 72 73 2e  pilation errors.
23390 20 43 6f 6d 70 69 6c 61 74 69 6f 6e 20 65 72 72   Compilation err
233a0 6f 72 20 6d 65 73 73 61 67 65 73 20 6e 6f 77 20  or messages now 
233b0 69 6e 63 6c 75 64 65 20 74 68 65 0a 65 6e 74 69  include the.enti
233c0 72 65 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 65 72  re command in er
233d0 72 6f 72 2e 0a 20 20 20 20 2d 20 54 72 61 69 6c  ror..    - Trail
233e0 69 6e 67 20 3a 3a 73 20 61 66 74 65 72 20 6e 61  ing ::s after na
233f0 6d 65 73 70 61 63 65 20 6e 61 6d 65 73 20 77 65  mespace names we
23400 72 65 6e 27 74 20 62 65 69 6e 67 20 69 67 6e 6f  ren't being igno
23410 72 65 64 2e 0a 20 20 20 20 2d 20 43 6f 75 6c 64  red..    - Could
23420 20 6e 6f 74 20 72 65 66 65 72 20 74 6f 20 61 6e   not refer to an
23430 20 6e 61 6d 65 73 70 61 63 65 20 76 61 72 69 61   namespace varia
23440 62 6c 65 20 77 69 74 68 20 61 6e 20 65 6d 70 74  ble with an empt
23450 79 20 6e 61 6d 65 20 75 73 69 6e 67 20 61 0a 6e  y name using a.n
23460 61 6d 65 20 6f 66 20 74 68 65 20 66 6f 72 6d 20  ame of the form 
23470 22 6e 3a 3a 22 2e 20 28 42 4c 29 0a 0a 37 2f 39  "n::". (BL)..7/9
23480 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69  /97 (bug fix) Fi
23490 78 65 64 20 62 75 67 20 69 6e 20 54 63 6c 5f 45  xed bug in Tcl_E
234a0 78 70 6f 72 74 20 74 68 61 74 20 70 72 65 76 65  xport that preve
234b0 6e 74 65 64 20 79 6f 75 20 66 72 6f 6d 20 65 78  nted you from ex
234c0 70 6f 72 74 69 6e 67 0a 66 72 6f 6d 20 6f 74 68  porting.from oth
234d0 65 72 20 74 68 61 6e 20 74 68 65 20 63 75 72 72  er than the curr
234e0 65 6e 74 20 6e 61 6d 65 73 70 61 63 65 2e 20 28  ent namespace. (
234f0 42 4c 29 0a 0a 37 2f 39 2f 39 37 20 28 62 75 67  BL)..7/9/97 (bug
23500 20 66 69 78 29 20 65 6e 76 2e 74 65 73 74 20 77   fix) env.test w
23510 61 73 20 72 65 6d 6f 76 69 6e 67 20 65 6e 76 20  as removing env 
23520 76 61 72 20 6e 65 65 64 65 64 20 66 6f 72 20 70  var needed for p
23530 72 6f 70 65 72 20 66 69 6e 64 69 6e 67 0a 6f 66  roper finding.of
23540 20 6c 69 62 72 61 72 69 65 73 20 69 6e 20 63 68   libraries in ch
23550 69 6c 64 20 70 72 6f 63 65 73 73 2e 20 28 44 4c  ild process. (DL
23560 29 0a 0a 37 2f 31 30 2f 39 37 20 28 62 75 67 20  )..7/10/97 (bug 
23570 66 69 78 65 73 2f 6e 65 77 20 66 65 61 74 75 72  fixes/new featur
23580 65 29 20 43 6c 65 61 6e 75 70 20 69 6e 20 54 63  e) Cleanup in Tc
23590 6c 5f 4d 61 6b 65 53 61 66 65 2e 20 4c 65 73 73  l_MakeSafe. Less
235a0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 69 73 20   information.is 
235b0 6c 65 61 6b 65 64 20 74 6f 20 73 61 66 65 20 69  leaked to safe i
235c0 6e 74 65 72 70 73 2e 20 45 72 72 6f 72 20 6d 65  nterps. Error me
235d0 73 73 61 67 65 20 66 69 78 65 73 20 66 6f 72 20  ssage fixes for 
235e0 69 6e 74 65 72 70 20 73 75 62 20 63 6f 6d 6d 61  interp sub comma
235f0 6e 64 73 2e 0a 4c 69 6b 65 77 69 73 65 20 63 68  nds..Likewise ch
23600 61 6e 67 65 73 20 69 6e 20 73 61 66 65 61 6c 69  anges in safeali
23610 61 73 2e 74 63 6c 3b 20 74 63 6c 5f 73 61 66 65  as.tcl; tcl_safe
23620 43 72 65 61 74 65 49 6e 74 65 72 70 20 63 61 6e  CreateInterp can
23630 20 6e 6f 77 20 62 65 20 63 61 6c 6c 65 64 0a 77   now be called.w
23640 69 74 68 6f 75 74 20 61 72 67 75 6d 65 6e 74 20  ithout argument 
23650 74 6f 20 67 65 6e 65 72 61 74 65 20 74 68 65 20  to generate the 
23660 73 6c 61 76 65 20 6e 61 6d 65 20 28 6c 69 6b 65  slave name (like
23670 20 69 6e 20 69 6e 74 65 72 70 20 63 72 65 61 74   in interp creat
23680 65 29 2e 20 28 44 4c 29 0a 0a 37 2f 31 30 2f 39  e). (DL)..7/10/9
23690 37 20 28 62 75 67 20 66 69 78 65 73 29 20 42 79  7 (bug fixes) By
236a0 74 65 63 6f 64 65 20 63 6f 6d 70 69 6c 65 72 20  tecode compiler 
236b0 6e 6f 77 20 67 65 6e 65 72 61 74 65 73 20 6d 6f  now generates mo
236c0 72 65 20 64 65 74 61 69 6c 65 64 20 0a 63 6f 6d  re detailed .com
236d0 6d 61 6e 64 20 6c 6f 63 61 74 69 6f 6e 20 69 6e  mand location in
236e0 66 6f 72 6d 61 74 69 6f 6e 3a 20 73 75 62 63 6f  formation: subco
236f0 6d 6d 61 6e 64 73 20 61 73 20 77 65 6c 6c 20 61  mmands as well a
23700 73 20 63 6f 6d 6d 61 6e 64 73 20 6e 6f 77 20 68  s commands now h
23710 61 76 65 0a 6c 6f 63 61 74 69 6f 6e 20 69 6e 66  ave.location inf
23720 6f 72 6d 61 74 69 6f 6e 2e 20 54 68 69 73 20 6d  ormation. This m
23730 65 61 6e 73 20 63 6f 6d 6d 61 6e 64 20 74 72 61  eans command tra
23740 63 65 20 70 72 6f 63 65 64 75 72 65 73 20 6e 6f  ce procedures no
23750 77 20 67 65 74 20 74 68 65 0a 63 6f 72 72 65 63  w get the.correc
23760 74 20 73 6f 75 72 63 65 20 73 74 72 69 6e 67 20  t source string 
23770 66 6f 72 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64  for each command
23780 20 69 6e 20 74 68 65 69 72 20 63 6f 6d 6d 61 6e   in their comman
23790 64 20 70 61 72 61 6d 65 74 65 72 2e 20 28 42 4c  d parameter. (BL
237a0 29 0a 0a 37 2f 32 32 2f 39 37 20 28 62 75 67 20  )..7/22/97 (bug 
237b0 66 69 78 65 73 29 20 50 65 72 66 6f 72 6d 61 6e  fixes) Performan
237c0 63 65 20 69 6d 70 72 6f 76 65 6d 65 6e 74 20 69  ce improvement i
237d0 6e 20 53 61 66 65 20 69 6e 74 65 72 70 72 65 74  n Safe interpret
237e0 65 72 73 0a 68 61 6e 64 6c 69 6e 67 2e 20 41 64  ers.handling. Ad
237f0 64 65 64 20 6e 65 77 20 6d 61 73 6b 20 76 61 6c  ded new mask val
23800 75 65 20 74 6f 20 28 74 63 6c 49 6e 74 2e 68 29  ue to (tclInt.h)
23810 20 49 6e 74 65 72 70 2e 66 6c 61 67 73 20 72 65   Interp.flags re
23820 63 6f 72 64 2e 20 28 44 4c 29 0a 0a 37 2f 32 32  cord. (DL)..7/22
23830 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69  /97 (bug fix) Fi
23840 78 65 64 20 70 61 6e 69 63 20 69 6e 20 27 69 6e  xed panic in 'in
23850 74 65 72 70 20 74 61 72 67 65 74 20 7b 7d 20 66  terp target {} f
23860 6f 6f 27 2e 20 54 68 69 73 20 62 75 67 0a 77 61  oo'. This bug.wa
23870 73 20 70 72 65 73 65 6e 74 20 73 69 6e 63 65 20  s present since 
23880 54 63 6c 20 37 2e 36 2e 20 28 4a 4c 29 0a 0a 37  Tcl 7.6. (JL)..7
23890 2f 32 32 2f 39 37 20 28 62 75 67 20 66 69 78 29  /22/97 (bug fix)
238a0 20 46 69 78 65 64 20 62 75 67 20 69 6e 20 63 6f   Fixed bug in co
238b0 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 70 72 6f  mpilation of pro
238c0 63 65 64 75 72 65 73 20 69 6e 20 6e 61 6d 65 73  cedures in names
238d0 70 61 63 65 73 3a 20 74 68 65 0a 70 72 6f 63 65  paces: the.proce
238e0 64 75 72 65 27 73 20 6e 61 6d 65 73 70 61 63 65  dure's namespace
238f0 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f   must be used to
23900 20 6c 6f 6f 6b 20 75 70 20 63 6f 6d 70 69 6c 65   look up compile
23910 20 70 72 6f 63 65 64 75 72 65 73 2c 20 6e 6f 74   procedures, not
23920 20 74 68 65 0a 63 75 72 72 65 6e 74 20 6e 61 6d   the.current nam
23930 65 73 70 61 63 65 2e 20 28 42 4c 29 0a 0a 37 2f  espace. (BL)..7/
23940 32 32 2f 39 37 20 28 62 75 67 20 66 69 78 29 20  22/97 (bug fix) 
23950 55 73 65 20 6f 66 20 74 68 65 20 2d 63 68 61 6e  Use of the -chan
23960 6e 65 6c 20 6f 70 74 69 6f 6e 20 6f 66 20 68 74  nel option of ht
23970 74 70 5f 67 65 74 20 77 61 73 20 6e 6f 74 20 73  tp_get was not s
23980 65 74 74 69 6e 67 0a 74 68 65 20 65 6e 64 20 6f  etting.the end o
23990 66 20 6c 69 6e 65 20 74 72 61 6e 73 6c 61 74 69  f line translati
239a0 6f 6e 73 20 6d 6f 64 65 20 6f 6e 20 74 68 65 20  ons mode on the 
239b0 63 68 61 6e 6e 65 6c 2c 20 73 6f 20 63 6f 70 79  channel, so copy
239c0 69 6e 67 20 62 69 6e 61 72 79 20 64 61 74 61 0a  ing binary data.
239d0 77 69 74 68 20 74 68 65 20 2d 63 68 61 6e 6e 65  with the -channe
239e0 6c 20 6f 70 74 69 6f 6e 20 77 61 73 20 63 6f 72  l option was cor
239f0 72 75 70 74 69 6e 67 20 74 68 65 20 72 65 73 75  rupting the resu
23a00 6c 74 20 6f 6e 20 6e 6f 6e 2d 75 6e 69 78 20 70  lt on non-unix p
23a10 6c 61 74 66 6f 72 6d 73 2e 20 28 42 57 29 0a 0a  latforms. (BW)..
23a20 37 2f 32 32 2f 39 37 20 28 62 75 67 20 66 69 78  7/22/97 (bug fix
23a30 65 73 29 20 66 69 6c 65 20 63 6f 6d 6d 61 6e 64  es) file command
23a40 73 20 61 6e 64 20 7e 75 73 65 72 20 28 73 65 67  s and ~user (seg
23a50 20 66 61 75 6c 74 20 61 6e 64 20 6f 74 68 65 72   fault and other
23a60 0a 69 6d 70 72 6f 70 65 72 20 72 65 74 75 72 6e  .improper return
23a70 73 29 2e 20 28 44 4c 29 0a 0a 37 2f 32 33 2f 39  s). (DL)..7/23/9
23a80 37 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67  7 (feature chang
23a90 65 29 20 52 65 65 6e 61 62 6c 65 64 20 22 76 77  e) Reenabled "vw
23aa0 61 69 74 22 20 69 6e 20 53 61 66 65 20 42 61 73  ait" in Safe Bas
23ab0 65 2e 20 28 4a 4c 29 0a 0a 37 2f 32 33 2f 39 37  e. (JL)..7/23/97
23ac0 20 28 62 75 67 20 66 69 78 65 73 29 20 46 69 78   (bug fixes) Fix
23ad0 65 64 20 74 77 6f 20 62 75 67 73 20 69 6e 76 6f  ed two bugs invo
23ae0 6c 76 69 6e 67 20 72 65 61 64 20 74 72 61 63 65  lving read trace
23af0 73 20 6f 6e 20 61 72 72 61 79 20 76 61 72 69 61  s on array varia
23b00 62 6c 65 73 0a 69 6e 20 70 72 6f 63 65 64 75 72  bles.in procedur
23b10 65 73 3a 20 74 72 61 63 65 20 70 72 6f 63 65 64  es: trace proced
23b20 75 72 65 73 20 77 65 72 65 20 73 6f 6d 65 74 69  ures were someti
23b30 6d 65 73 20 6e 6f 74 20 63 61 6c 6c 65 64 2c 20  mes not called, 
23b40 61 6e 64 20 72 65 61 64 69 6e 67 0a 6e 6f 6e 65  and reading.none
23b50 78 69 73 74 61 6e 74 20 61 72 72 61 79 20 65 6c  xistant array el
23b60 65 6d 65 6e 74 73 20 64 69 64 6e 27 74 20 63 72  ements didn't cr
23b70 65 61 74 65 20 75 6e 64 65 66 69 6e 65 64 20 65  eate undefined e
23b80 6c 65 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73  lement variables
23b90 20 74 68 61 74 0a 63 6f 75 6c 64 20 6c 61 74 65   that.could late
23ba0 72 20 62 65 20 64 65 66 69 6e 65 64 20 62 79 20  r be defined by 
23bb0 74 72 61 63 65 20 70 72 6f 63 65 64 75 72 65 73  trace procedures
23bc0 2e 20 28 42 4c 29 0a 0a 37 2f 32 34 2f 39 37 20  . (BL)..7/24/97 
23bd0 28 62 75 67 20 66 69 78 29 20 57 69 6e 64 6f 77  (bug fix) Window
23be0 73 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74  s memory allocat
23bf0 69 6f 6e 20 70 65 72 66 6f 72 6d 61 6e 63 65 20  ion performance 
23c00 77 61 73 0a 73 75 70 65 72 6c 69 6e 65 61 72 20  was.superlinear 
23c10 69 6e 20 73 6f 6d 65 20 63 61 73 65 73 2e 20 20  in some cases.  
23c20 4d 61 64 65 20 74 68 65 20 4d 61 63 20 61 6c 6c  Made the Mac all
23c30 6f 63 61 74 6f 72 20 67 65 6e 65 72 69 63 20 61  ocator generic a
23c40 6e 64 20 63 68 61 6e 67 65 64 0a 62 6f 74 68 20  nd changed.both 
23c50 74 68 65 20 4d 61 63 20 61 6e 64 20 57 69 6e 64  the Mac and Wind
23c60 6f 77 73 20 70 6c 61 74 66 6f 72 6d 73 20 74 6f  ows platforms to
23c70 20 75 73 65 20 74 68 65 20 6e 65 77 20 61 6c 6c   use the new all
23c80 6f 63 61 74 6f 72 20 69 6e 73 74 65 61 64 20 6f  ocator instead o
23c90 66 0a 6d 61 6c 6c 6f 63 20 61 6e 64 20 66 72 65  f.malloc and fre
23ca0 65 2e 20 28 53 53 29 0a 0a 37 2f 32 34 2f 39 37  e. (SS)..7/24/97
23cb0 20 2d 20 38 2f 31 32 2f 39 37 20 28 62 75 67 20   - 8/12/97 (bug 
23cc0 66 69 78 65 73 2f 63 68 61 6e 67 65 20 6f 66 20  fixes/change of 
23cd0 66 65 61 74 75 72 65 73 29 20 43 6f 6d 70 6c 65  features) Comple
23ce0 74 65 6c 79 20 72 65 76 61 6d 70 65 64 20 73 61  tely revamped sa
23cf0 66 65 0a 73 6f 75 72 63 69 6e 67 2f 6c 6f 61 64  fe.sourcing/load
23d00 69 6e 67 20 28 73 65 65 20 73 61 66 65 2e 6e 29  ing (see safe.n)
23d10 20 74 6f 20 68 69 64 65 20 70 61 74 68 6e 61 6d   to hide pathnam
23d20 65 73 2c 20 75 73 65 20 76 69 72 74 75 61 6c 0a  es, use virtual.
23d30 70 61 74 68 73 20 74 6f 6b 65 6e 73 20 69 6e 73  paths tokens ins
23d40 74 65 61 64 2c 20 69 6d 70 72 6f 76 65 64 20 73  tead, improved s
23d50 65 63 75 72 69 74 79 20 69 6e 20 73 65 76 65 72  ecurity in sever
23d60 61 6c 20 72 65 73 70 65 63 74 73 20 61 6e 64 20  al respects and 
23d70 6d 61 64 65 20 69 74 0a 6d 6f 72 65 20 74 75 6e  made it.more tun
23d80 61 62 6c 65 2e 20 4d 75 6c 74 69 20 6c 65 76 65  able. Multi leve
23d90 6c 20 69 6e 74 65 72 70 20 6c 6f 61 64 69 6e 67  l interp loading
23da0 20 63 61 6e 20 77 6f 72 6b 20 74 6f 6f 20 6e 6f   can work too no
23db0 77 2e 20 50 61 63 6b 61 67 65 20 61 75 74 6f 0a  w. Package auto.
23dc0 6c 6f 61 64 69 6e 67 20 6e 6f 77 20 77 6f 72 6b  loading now work
23dd0 73 20 69 6e 20 73 61 66 65 20 69 6e 74 65 72 70  s in safe interp
23de0 73 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65  s as long as the
23df0 20 70 61 63 6b 61 67 65 20 64 69 72 65 63 74 6f   package directo
23e00 72 79 20 69 73 20 69 6e 20 0a 74 68 65 20 61 75  ry is in .the au
23e10 74 6f 5f 70 61 74 68 20 28 6e 6f 20 64 65 65 70  to_path (no deep
23e20 20 63 72 61 77 6c 69 6e 67 20 61 6c 6c 6f 77 65   crawling allowe
23e30 64 20 69 6e 20 73 61 66 65 20 69 6e 74 65 72 70  d in safe interp
23e40 73 29 2e 20 28 44 4c 29 0a 2a 2a 2a 20 50 4f 54  s). (DL).*** POT
23e50 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
23e60 42 49 4c 49 54 59 20 77 69 74 68 20 70 72 65 76  BILITY with prev
23e70 69 6f 75 73 20 61 6c 70 68 61 20 61 6e 64 20 62  ious alpha and b
23e80 65 74 61 20 72 65 6c 65 61 73 65 73 20 2a 2a 2a  eta releases ***
23e90 0a 0a 37 2f 32 34 2f 39 37 20 28 62 75 67 20 66  ..7/24/97 (bug f
23ea0 69 78 65 73 29 20 4d 61 64 65 20 54 63 6c 5f 53  ixes) Made Tcl_S
23eb0 65 74 56 61 72 2a 20 61 6e 64 20 54 63 6c 5f 4e  etVar* and Tcl_N
23ec0 65 77 53 74 72 69 6e 67 2a 20 74 72 65 61 74 20  ewString* treat 
23ed0 61 20 4e 55 4c 4c 20 76 61 6c 75 65 0a 61 73 20  a NULL value.as 
23ee0 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e  an empty string.
23ef0 20 28 54 68 69 73 20 66 69 78 65 73 20 68 61 69   (This fixes hai
23f00 72 79 20 63 72 61 73 68 20 63 61 73 65 20 77 68  ry crash case wh
23f10 65 72 65 20 79 6f 75 20 77 6f 75 6c 64 20 63 72  ere you would cr
23f20 61 73 68 0a 62 65 63 61 75 73 65 20 6c 6f 61 64  ash.because load
23f30 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 6f 74 68   command for oth
23f40 65 72 20 69 6e 74 65 72 70 73 20 61 73 73 75 6d  er interps assum
23f50 65 64 20 70 72 65 73 65 6e 63 65 20 6f 66 0a 65  ed presence of.e
23f60 72 72 6f 72 49 6e 66 6f 2e 2e 2e 29 2e 20 28 44  rrorInfo...). (D
23f70 4c 29 0a 0a 37 2f 32 38 2f 39 37 20 28 62 75 67  L)..7/28/97 (bug
23f80 20 66 69 78 29 20 46 69 78 65 64 20 70 6b 67 5f   fix) Fixed pkg_
23f90 6d 6b 49 6e 64 65 78 20 74 6f 20 75 6e 64 65 72  mkIndex to under
23fa0 73 74 61 6e 64 20 6e 61 6d 65 73 70 61 63 65 73  stand namespaces
23fb0 2e 20 20 49 74 20 77 69 6c 6c 0a 75 73 65 20 74  .  It will.use t
23fc0 68 65 20 65 78 70 6f 72 74 20 6c 69 73 74 20 6f  he export list o
23fd0 66 20 61 20 6e 61 6d 65 73 70 61 63 65 20 61 6e  f a namespace an
23fe0 64 20 63 72 65 61 74 65 20 61 75 74 6f 5f 69 6e  d create auto_in
23ff0 64 65 78 20 65 6e 74 72 69 65 73 20 66 6f 72 0a  dex entries for.
24000 61 6c 6c 20 65 78 70 6f 72 74 20 63 6f 6d 6d 61  all export comma
24010 6e 64 73 2e 20 20 54 68 6f 73 65 20 6e 61 6d 65  nds.  Those name
24020 73 20 61 72 65 20 69 6e 20 74 68 65 69 72 20 66  s are in their f
24030 75 6c 6c 79 20 71 75 61 6c 69 66 69 65 64 20 66  ully qualified f
24040 6f 72 6d 20 69 6e 20 74 68 65 0a 61 75 74 6f 5f  orm in the.auto_
24050 69 6e 64 65 78 2e 20 20 54 68 65 72 65 66 6f 72  index.  Therefor
24060 65 2c 20 49 20 74 77 65 61 6b 65 64 20 75 6e 6b  e, I tweaked unk
24070 6e 6f 77 6e 20 74 6f 20 74 72 79 20 62 6f 74 68  nown to try both
24080 20 24 63 6d 64 20 61 6e 64 20 3a 3a 24 63 6d 64   $cmd and ::$cmd
24090 2e 0a 41 6c 73 6f 20 66 69 78 65 64 20 70 6b 67  ..Also fixed pkg
240a0 5f 6d 6b 49 6e 64 65 78 20 73 6f 20 79 6f 75 20  _mkIndex so you 
240b0 63 61 6e 20 68 61 76 65 20 22 70 61 63 6b 61 67  can have "packag
240c0 65 20 72 65 71 75 69 72 65 22 20 63 6f 6d 6d 61  e require" comma
240d0 6e 64 73 20 69 6e 73 69 64 65 0a 79 6f 75 72 20  nds inside.your 
240e0 70 61 63 6b 61 67 65 73 2e 20 20 54 68 65 73 65  packages.  These
240f0 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 69 67   commands are ig
24100 6e 6f 72 65 64 2c 20 77 68 69 63 68 20 69 73 20  nored, which is 
24110 6d 6f 73 74 6c 79 20 6f 6b 20 65 78 63 65 70 74  mostly ok except
24120 0a 77 68 65 6e 20 79 6f 75 20 6d 75 73 74 20 6c  .when you must l
24130 6f 61 64 20 61 6e 6f 74 68 65 72 20 70 61 63 6b  oad another pack
24140 61 67 65 20 62 65 66 6f 72 65 20 6c 6f 61 64 69  age before loadi
24150 6e 67 20 79 6f 75 72 73 20 62 65 63 61 75 73 65  ng yours because
24160 20 6f 66 0a 6c 69 6e 6b 69 6e 67 20 64 65 70 65   of.linking depe
24170 6e 64 65 6e 63 69 65 73 2e 20 28 42 57 29 0a 0a  ndencies. (BW)..
24180 37 2f 32 38 2f 39 37 20 28 62 75 67 20 66 69 78  7/28/97 (bug fix
24190 29 20 41 20 76 61 72 69 61 62 6c 65 20 63 72 65  ) A variable cre
241a0 61 74 65 64 20 62 79 20 74 68 65 20 76 61 72 69  ated by the vari
241b0 61 62 6c 65 20 63 6f 6d 6d 61 6e 64 20 6e 6f 77  able command now
241c0 20 70 65 72 73 69 73 74 73 0a 75 6e 74 69 6c 20   persists.until 
241d0 74 68 65 20 6e 61 6d 65 73 70 61 63 65 20 69 73  the namespace is
241e0 20 64 65 73 74 72 6f 79 65 64 20 6f 72 20 74 68   destroyed or th
241f0 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 75 6e  e variable is un
24200 73 65 74 2e 20 54 68 69 73 20 69 73 20 74 72 75  set. This is tru
24210 65 20 65 76 65 6e 0a 69 66 20 74 68 65 20 76 61  e even.if the va
24220 72 69 61 62 6c 65 20 68 61 73 20 6e 6f 74 20 62  riable has not b
24230 65 65 6e 20 69 6e 69 74 69 61 6c 69 7a 65 64 3b  een initialized;
24240 20 74 68 65 73 65 20 76 61 72 69 61 62 6c 65 73   these variables
24250 20 75 73 65 64 20 74 6f 20 62 65 0a 64 65 73 74   used to be.dest
24260 72 6f 79 65 64 20 69 66 20 61 6e 20 65 72 72 6f  royed if an erro
24270 72 20 6f 63 63 75 72 72 65 64 20 77 68 65 6e 20  r occurred when 
24280 61 63 63 65 73 73 69 6e 67 20 74 68 65 6d 2e 20  accessing them. 
24290 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 74 68 65  In addition, the
242a0 20 22 69 6e 66 6f 0a 76 61 72 73 22 20 63 6f 6d   "info.vars" com
242b0 6d 61 6e 64 20 6c 69 73 74 73 20 75 6e 69 6e 69  mand lists unini
242c0 74 69 61 6c 69 7a 65 64 20 6e 61 6d 65 73 70 61  tialized namespa
242d0 63 65 20 76 61 72 69 61 62 6c 65 73 2c 20 77 68  ce variables, wh
242e0 69 6c 65 20 74 68 65 20 22 69 6e 66 6f 0a 65 78  ile the "info.ex
242f0 69 73 74 73 22 20 63 6f 6d 6d 61 6e 64 20 72 65  ists" command re
24300 74 75 72 6e 73 20 30 20 66 6f 72 20 74 68 65 6d  turns 0 for them
24310 2e 20 28 42 4c 29 0a 0a 37 2f 32 39 2f 39 37 20  . (BL)..7/29/97 
24320 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 29  (feature change)
24330 20 20 43 68 61 6e 67 65 64 20 74 68 65 20 68 74    Changed the ht
24340 74 70 20 70 61 63 6b 61 67 65 20 74 6f 20 75 73  tp package to us
24350 65 20 74 68 65 20 3a 3a 68 74 74 70 0a 6e 61 6d  e the ::http.nam
24360 65 73 70 61 63 65 2e 20 68 74 74 70 5f 67 65 74  espace. http_get
24370 20 72 65 6e 61 6d 65 64 20 74 6f 20 68 74 74 70   renamed to http
24380 3a 3a 67 65 74 75 72 6c 2c 20 68 74 74 70 5f 63  ::geturl, http_c
24390 6f 6e 66 69 67 20 72 65 6e 61 6d 65 64 20 74 6f  onfig renamed to
243a0 0a 68 74 74 70 3a 3a 63 6f 6e 66 69 67 2c 20 68  .http::config, h
243b0 74 74 70 5f 66 6f 72 6d 61 74 51 75 65 72 79 20  ttp_formatQuery 
243c0 72 65 6e 61 6d 65 64 20 74 6f 20 68 74 74 70 3a  renamed to http:
243d0 3a 66 6f 72 6d 61 74 51 75 65 72 79 2e 0a 49 74  :formatQuery..It
243e0 20 6e 6f 77 20 70 72 6f 76 69 64 65 73 20 74 68   now provides th
243f0 65 20 32 2e 30 20 76 65 72 73 69 6f 6e 20 6f 66  e 2.0 version of
24400 20 74 68 65 20 70 61 63 6b 61 67 65 2e 20 20 0a   the package.  .
24410 54 68 65 20 31 2e 30 20 76 65 72 73 69 6f 6e 20  The 1.0 version 
24420 69 73 20 73 74 69 6c 6c 20 61 76 61 69 6c 61 62  is still availab
24430 6c 65 20 77 69 74 68 20 74 68 65 20 6f 6c 64 20  le with the old 
24440 6e 61 6d 65 73 2e 0a 2a 2a 2a 20 50 4f 54 45 4e  names..*** POTEN
24450 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49  TIAL INCOMPATIBI
24460 4c 49 54 59 20 77 69 74 68 20 54 63 6c 20 38 2e  LITY with Tcl 8.
24470 30 62 32 20 62 75 74 20 6e 6f 74 20 77 69 74 68  0b2 but not with
24480 20 54 63 6c 20 37 2e 36 20 2a 2a 2a 0a 0a 37 2f   Tcl 7.6 ***..7/
24490 32 39 2f 39 37 20 28 62 75 67 20 66 69 78 2c 20  29/97 (bug fix, 
244a0 6e 65 77 20 66 65 61 74 75 72 65 29 20 54 63 6c  new feature) Tcl
244b0 5f 4d 61 69 6e 20 6e 6f 77 20 75 73 65 73 20 54  _Main now uses T
244c0 63 6c 20 6f 62 6a 65 63 74 73 20 69 6e 74 65 72  cl objects inter
244d0 6e 61 6c 6c 79 20 74 6f 0a 70 72 65 73 65 72 76  nally to.preserv
244e0 65 20 4e 55 4c 4c 73 20 69 6e 20 63 6f 6d 6d 61  e NULLs in comma
244f0 6e 64 73 20 61 6e 64 20 63 6f 6d 6d 61 6e 64 20  nds and command 
24500 6f 75 74 70 75 74 2e 20 41 64 64 65 64 20 6e 65  output. Added ne
24510 77 20 41 50 49 20 70 72 6f 63 65 64 75 72 65 0a  w API procedure.
24520 54 63 6c 5f 52 65 63 6f 72 64 41 6e 64 45 76 61  Tcl_RecordAndEva
24530 6c 4f 62 6a 20 74 68 61 74 20 72 65 73 65 6d 62  lObj that resemb
24540 6c 65 73 20 54 63 6c 5f 52 65 63 6f 72 64 41 6e  les Tcl_RecordAn
24550 64 45 76 61 6c 20 62 75 74 20 74 61 6b 65 73 20  dEval but takes 
24560 61 6e 20 6f 62 6a 65 63 74 0a 63 6f 6e 74 61 69  an object.contai
24570 6e 69 6e 67 20 61 20 63 6f 6d 6d 61 6e 64 2e 20  ning a command. 
24580 28 42 4c 29 0a 0a 37 2f 33 30 2f 39 37 20 28 62  (BL)..7/30/97 (b
24590 75 67 20 66 69 78 29 20 54 63 6c 20 66 72 65 65  ug fix) Tcl free
245a0 64 20 73 74 72 69 6e 67 73 20 69 6e 20 74 68 65  d strings in the
245b0 20 65 6e 76 69 72 6f 6e 20 61 72 72 61 79 20 65   environ array e
245c0 76 65 6e 20 69 66 20 69 74 0a 64 69 64 20 6e 6f  ven if it.did no
245d0 74 20 61 6c 6c 6f 63 61 74 65 20 74 68 65 6d 2e  t allocate them.
245e0 20 28 53 53 29 0a 0a 37 2f 33 30 2f 39 37 20 28   (SS)..7/30/97 (
245f0 62 75 67 20 66 69 78 29 20 49 66 20 61 20 70 72  bug fix) If a pr
24600 6f 63 65 64 75 72 65 20 69 73 20 72 65 6e 61 6d  ocedure is renam
24610 65 64 20 69 6e 74 6f 20 61 20 64 69 66 66 65 72  ed into a differ
24620 65 6e 74 20 6e 61 6d 65 73 70 61 63 65 2c 20 69  ent namespace, i
24630 74 0a 6e 6f 77 20 65 78 65 63 75 74 65 73 20 69  t.now executes i
24640 6e 20 74 68 65 20 63 6f 6e 74 65 78 74 20 6f 66  n the context of
24650 20 74 68 61 74 20 6e 61 6d 65 73 70 61 63 65 2e   that namespace.
24660 20 28 42 4c 29 0a 0a 37 2f 33 30 2f 39 37 20 28   (BL)..7/30/97 (
24670 62 75 67 20 66 69 78 29 20 50 72 65 76 65 6e 74  bug fix) Prevent
24680 20 72 65 6e 61 6d 69 6e 67 20 6f 66 20 63 6f 6d   renaming of com
24690 6d 61 6e 64 73 20 69 6e 74 6f 20 61 6e 64 20 66  mands into and f
246a0 72 6f 6d 20 6e 61 6d 65 73 70 61 63 65 73 20 61  rom namespaces a
246b0 73 0a 70 61 72 74 20 6f 66 20 68 69 64 69 6e 67  s.part of hiding
246c0 20 74 68 65 6d 2e 20 28 4a 4c 29 0a 0a 37 2f 33   them. (JL)..7/3
246d0 31 2f 39 37 20 28 66 65 61 74 75 72 65 20 63 68  1/97 (feature ch
246e0 61 6e 67 65 29 20 4d 6f 76 65 64 20 74 68 65 20  ange) Moved the 
246f0 68 69 73 74 6f 72 79 20 63 6f 6d 6d 61 6e 64 20  history command 
24700 66 72 6f 6d 20 43 20 74 6f 20 74 63 6c 2e 0a 54  from C to tcl..T
24710 68 69 73 20 75 73 65 73 20 74 68 65 20 3a 3a 68  his uses the ::h
24720 69 73 74 6f 72 79 20 6e 61 6d 65 73 70 61 63 65  istory namespace
24730 2e 20 20 54 68 65 20 22 77 6f 72 64 73 22 20 61  .  The "words" a
24740 6e 64 20 22 73 75 62 73 74 69 74 75 74 65 22 20  nd "substitute" 
24750 6f 70 74 69 6f 6e 73 0a 61 72 65 20 6e 6f 20 6c  options.are no l
24760 6f 6e 67 65 72 20 73 75 70 70 6f 72 74 65 64 2e  onger supported.
24770 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 74    In addition, t
24780 68 65 20 22 6b 65 65 70 22 20 6f 70 74 69 6f 6e  he "keep" option
24790 20 77 69 74 68 6f 75 74 20 61 20 76 61 6c 75 65   without a value
247a0 0a 72 65 74 75 72 6e 73 20 74 68 65 20 63 75 72  .returns the cur
247b0 72 65 6e 74 20 6b 65 65 70 20 6c 69 6d 69 74 2e  rent keep limit.
247c0 20 20 54 68 65 72 65 20 69 73 20 61 20 6e 65 77    There is a new
247d0 20 22 63 6c 65 61 72 22 20 6f 70 74 69 6f 6e 2e   "clear" option.
247e0 0a 54 68 65 20 75 6e 6b 6e 6f 77 6e 20 63 6f 6d  .The unknown com
247f0 6d 61 6e 64 20 6e 6f 77 20 73 75 70 70 6f 72 74  mand now support
24800 73 20 21 21 20 61 67 61 69 6e 2e 20 28 42 57 29  s !! again. (BW)
24810 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
24820 4e 43 4f 4d 50 41 54 49 42 49 4c 54 59 20 20 2a  NCOMPATIBILTY  *
24830 2a 2a 0a 0a 37 2f 33 30 2f 39 37 20 28 62 75 67  **..7/30/97 (bug
24840 20 66 69 78 29 20 4d 61 64 65 20 73 75 72 65 20   fix) Made sure 
24850 74 68 61 74 20 61 20 73 6c 61 76 65 20 63 61 6e  that a slave can
24860 20 6e 6f 74 20 66 6f 6f 6c 20 74 68 65 20 6d 61   not fool the ma
24870 73 74 65 72 20 69 6e 74 6f 0a 68 69 64 69 6e 67  ster into.hiding
24880 20 74 68 65 20 77 72 6f 6e 67 20 63 6f 6d 6d 61   the wrong comma
24890 6e 64 2e 20 4d 61 64 65 20 73 75 72 65 20 77 65  nd. Made sure we
248a0 20 64 6f 6e 27 74 20 63 72 61 73 68 20 69 6e 20   don't crash in 
248b0 68 69 64 69 6e 67 20 2b 20 6e 61 6d 65 73 70 61  hiding + namespa
248c0 63 65 73 0a 69 73 73 75 65 73 2e 20 28 44 4c 29  ces.issues. (DL)
248d0 0a 0a 38 2f 34 2f 39 37 20 28 62 75 67 20 66 69  ..8/4/97 (bug fi
248e0 78 29 20 43 6f 6e 63 61 74 2c 20 65 76 61 6c 2c  x) Concat, eval,
248f0 20 75 70 6c 65 76 65 6c 2c 20 61 6e 64 20 73 69   uplevel, and si
24900 6d 69 6c 61 72 20 63 6f 6d 6d 61 6e 64 73 20 77  milar commands w
24910 65 72 65 0a 69 6e 63 6f 72 72 65 63 74 6c 79 20  ere.incorrectly 
24920 74 72 69 6d 6d 69 6e 67 20 74 72 61 69 6c 69 6e  trimming trailin
24930 67 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65  g space characte
24940 72 73 20 66 72 6f 6d 20 74 68 65 69 72 20 61 72  rs from their ar
24950 67 75 6d 65 6e 74 73 0a 65 76 65 6e 20 77 68 65  guments.even whe
24960 6e 20 74 68 65 20 73 70 61 63 65 20 63 68 61 72  n the space char
24970 61 63 74 65 72 73 20 77 65 72 65 20 70 72 65 63  acters were prec
24980 65 64 65 64 20 62 79 20 61 20 62 61 63 6b 73 6c  eded by a backsl
24990 61 73 68 2e 20 28 4a 4f 29 0a 0a 38 2f 34 2f 39  ash. (JO)..8/4/9
249a0 37 20 28 62 75 67 20 66 69 78 29 20 52 65 6d 6f  7 (bug fix) Remo
249b0 76 65 64 20 74 68 65 20 68 61 72 64 20 6c 69 6e  ved the hard lin
249c0 6b 20 62 65 74 77 65 65 6e 20 62 67 65 72 72 6f  k between bgerro
249d0 72 20 61 6e 64 20 74 6b 65 72 72 6f 72 2e 0a 4f  r and tkerror..O
249e0 6e 6c 79 20 62 67 65 72 72 6f 72 20 69 73 20 73  nly bgerror is s
249f0 75 70 70 6f 72 74 65 64 20 69 6e 20 74 63 6c 20  upported in tcl 
24a00 63 6f 72 65 2e 20 54 6b 20 77 69 6c 6c 20 73 74  core. Tk will st
24a10 69 6c 6c 20 6c 6f 6f 6b 20 66 6f 72 20 61 0a 74  ill look for a.t
24a20 6b 65 72 72 6f 72 20 62 75 74 20 75 73 69 6e 67  kerror but using
24a30 20 72 65 67 75 6c 61 72 20 74 63 6c 20 63 6f 64   regular tcl cod
24a40 65 20 66 6f 72 20 74 68 61 74 20 66 65 61 74 75  e for that featu
24a50 72 65 2e 20 28 44 4c 29 0a 2a 2a 2a 20 50 4f 54  re. (DL).*** POT
24a60 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
24a70 42 49 4c 54 59 20 77 69 74 68 20 63 6f 64 65 20  BILTY with code 
24a80 72 65 6c 79 69 6e 67 20 6f 6e 20 74 68 65 20 68  relying on the h
24a90 61 72 64 20 6c 69 6e 6b 20 2a 2a 2a 0a 0a 38 2f  ard link ***..8/
24aa0 36 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 52  6/97 (bug fix) R
24ab0 65 64 75 63 65 64 20 73 69 7a 65 20 72 65 71 75  educed size requ
24ac0 69 72 65 64 20 66 6f 72 20 63 6f 6d 70 69 6c 65  ired for compile
24ad0 64 20 62 79 74 65 63 6f 64 65 73 20 62 79 20 75  d bytecodes by u
24ae0 73 69 6e 67 20 61 0a 6d 6f 72 65 20 63 6f 6d 70  sing a.more comp
24af0 61 63 74 20 65 6e 63 6f 64 69 6e 67 20 66 6f 72  act encoding for
24b00 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 70 63 2d   the command pc-
24b10 74 6f 2d 73 6f 75 72 63 65 20 6d 61 70 2e 20 28  to-source map. (
24b20 42 4c 29 0a 0a 38 2f 36 2f 39 37 20 28 6e 65 77  BL)..8/6/97 (new
24b30 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20   feature) Added 
24b40 73 75 70 70 6f 72 74 20 66 6f 72 20 61 64 64 69  support for addi
24b50 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 61 74 69  tional compilati
24b60 6f 6e 20 61 6e 64 20 65 78 65 63 75 74 69 6f 6e  on and execution
24b70 0a 73 74 61 74 69 73 74 69 63 73 20 77 68 65 6e  .statistics when
24b80 20 54 63 6c 20 69 73 20 63 6f 6d 70 69 6c 65 64   Tcl is compiled
24b90 20 77 69 74 68 20 74 68 65 20 54 43 4c 5f 43 4f   with the TCL_CO
24ba0 4d 50 49 4c 45 5f 53 54 41 54 53 20 66 6c 61 67  MPILE_STATS flag
24bb0 2e 20 28 42 4c 29 0a 0a 38 2f 37 2f 39 37 20 28  . (BL)..8/7/97 (
24bc0 62 75 67 20 66 69 78 29 20 45 78 70 72 65 73 73  bug fix) Express
24bd0 69 6f 6e 73 20 6e 6f 74 20 69 6e 20 7b 7d 73 20  ions not in {}s 
24be0 74 68 61 74 20 68 61 76 65 20 61 20 63 6f 6d 70  that have a comp
24bf0 61 72 69 73 6f 6e 20 6f 70 65 72 61 74 6f 72 20  arison operator 
24c00 61 73 0a 74 68 65 20 74 6f 70 6d 6f 73 74 20 6f  as.the topmost o
24c10 70 65 72 61 74 6f 72 20 6d 75 73 74 20 62 65 20  perator must be 
24c20 63 6f 6d 70 69 6c 65 64 20 6f 75 74 2d 6f 66 2d  compiled out-of-
24c30 6c 69 6e 65 20 28 63 61 6c 6c 20 74 68 65 20 65  line (call the e
24c40 78 70 72 20 63 6d 64 20 61 74 0a 72 75 6e 74 69  xpr cmd at.runti
24c50 6d 65 29 20 74 6f 20 70 72 6f 70 65 72 6c 79 20  me) to properly 
24c60 73 75 70 70 6f 72 74 20 65 78 70 72 27 73 20 74  support expr's t
24c70 77 6f 2d 6c 65 76 65 6c 20 73 75 62 73 74 69 74  wo-level substit
24c80 75 74 69 6f 6e 20 73 65 6d 61 6e 74 69 63 73 2e  ution semantics.
24c90 20 41 6e 0a 65 78 61 6d 70 6c 65 20 69 73 20 22   An.example is "
24ca0 73 65 74 20 61 20 32 3b 20 73 65 74 20 62 20 7b  set a 2; set b {
24cb0 24 61 7d 3b 20 70 75 74 73 20 5b 65 78 70 72 20  $a}; puts [expr 
24cc0 24 62 20 3d 3d 20 32 5d 22 2e 20 28 42 4c 29 0a  $b == 2]". (BL).
24cd0 0a 38 2f 31 31 2f 39 37 20 28 62 75 67 20 66 69  .8/11/97 (bug fi
24ce0 78 29 20 54 68 65 20 63 61 74 63 68 20 63 6f 6d  x) The catch com
24cf0 6d 61 6e 64 20 77 6f 75 6c 64 20 73 6f 6d 65 74  mand would somet
24d00 69 6d 65 73 20 63 72 61 73 68 20 69 66 20 61 20  imes crash if a 
24d10 76 61 72 69 61 62 6c 65 20 6e 61 6d 65 0a 77 61  variable name.wa
24d20 73 20 67 69 76 65 6e 20 61 6e 64 20 74 68 65 20  s given and the 
24d30 62 79 74 65 63 6f 64 65 20 65 76 61 6c 75 61 74  bytecode evaluat
24d40 69 6f 6e 20 73 74 61 63 6b 20 77 61 73 20 67 72  ion stack was gr
24d50 6f 77 6e 20 77 68 65 6e 20 65 78 65 63 75 74 69  own when executi
24d60 6e 67 20 74 68 65 0a 61 72 67 75 6d 65 6e 74 20  ng the.argument 
24d70 73 63 72 69 70 74 2e 20 28 42 4c 29 0a 0a 38 2f  script. (BL)..8/
24d80 31 32 2f 39 37 20 28 66 65 61 74 75 72 65 20 63  12/97 (feature c
24d90 68 61 6e 67 65 29 20 52 65 69 6e 73 74 61 74 65  hange) Reinstate
24da0 64 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 74  d the variable t
24db0 63 6c 5f 70 72 65 63 69 73 69 6f 6e 20 74 6f 20  cl_precision to 
24dc0 63 6f 6e 74 72 6f 6c 0a 74 68 65 20 6e 75 6d 62  control.the numb
24dd0 65 72 20 6f 66 20 64 69 67 69 74 73 20 75 73 65  er of digits use
24de0 64 20 77 68 65 6e 20 66 6c 6f 61 74 69 6e 67 2d  d when floating-
24df0 70 6f 69 6e 74 20 76 61 6c 75 65 73 20 61 72 65  point values are
24e00 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 0a 73 74   converted to.st
24e10 72 69 6e 67 73 2c 20 77 69 74 68 20 64 65 66 61  rings, with defa
24e20 75 6c 74 20 6f 66 20 31 32 20 64 69 67 69 74 73  ult of 12 digits
24e30 2e 20 20 48 6f 77 65 76 65 72 2c 20 68 61 64 20  .  However, had 
24e40 74 6f 20 6d 61 6b 65 20 74 63 6c 5f 70 72 65 63  to make tcl_prec
24e50 69 73 69 6f 6e 0a 73 68 61 72 65 64 20 61 6d 6f  ision.shared amo
24e60 6e 67 20 61 6c 6c 20 69 6e 74 65 72 70 72 65 74  ng all interpret
24e70 65 72 73 20 28 65 78 63 65 70 74 20 74 68 61 74  ers (except that
24e80 20 73 61 66 65 20 69 6e 74 65 72 70 72 65 74 65   safe interprete
24e90 72 73 20 63 61 6e 27 74 0a 6d 6f 64 69 66 79 20  rs can't.modify 
24ea0 69 74 29 2e 20 20 54 68 69 73 20 6d 61 6b 65 73  it).  This makes
24eb0 20 74 68 65 20 54 63 6c 20 38 2e 30 20 62 65 68   the Tcl 8.0 beh
24ec0 61 76 69 6f 72 20 61 6c 6d 6f 73 74 20 69 64 65  avior almost ide
24ed0 6e 74 69 63 61 6c 20 74 6f 20 37 2e 36 0a 65 78  ntical to 7.6.ex
24ee0 63 65 70 74 20 74 68 61 74 20 74 68 65 20 64 65  cept that the de
24ef0 66 61 75 6c 74 20 70 72 65 63 69 73 69 6f 6e 20  fault precision 
24f00 69 73 20 31 32 20 69 6e 73 74 65 61 64 20 6f 66  is 12 instead of
24f10 20 36 2e 20 28 4a 4f 29 0a 2a 2a 2a 20 50 4f 54   6. (JO).*** POT
24f20 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49  ENTIAL INCOMPATI
24f30 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 2d 2d 2d 2d  BILITY ***..----
24f40 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65  ------------- Re
24f50 6c 65 61 73 65 64 20 38 2e 30 2c 20 38 2f 31 38  leased 8.0, 8/18
24f60 2f 39 37 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  /97 ------------
24f70 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 38 2f 31  -----------..8/1
24f80 39 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 4d  9/97 (bug fix) M
24f90 69 6e 69 6d 61 6c 20 66 69 78 20 66 6f 72 20 67  inimal fix for g
24fa0 6c 6f 62 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20  lob -nocomplain 
24fb0 62 75 67 73 3a 0a 22 67 6c 6f 62 20 2d 6e 6f 63  bugs:."glob -noc
24fc0 6f 6d 70 6c 61 69 6e 20 75 6e 72 65 61 64 61 62  omplain unreadab
24fd0 6c 65 44 69 72 2f 2a 22 20 77 61 73 20 67 65 6e  leDir/*" was gen
24fe0 65 72 61 74 69 6e 67 20 61 6e 20 61 6e 6f 6e 79  erating an anony
24ff0 6d 6f 75 73 20 0a 65 72 72 6f 72 2e 20 4d 6f 72  mous .error. Mor
25000 65 20 69 6e 20 64 65 70 74 68 20 66 69 78 65 73  e in depth fixes
25010 20 77 69 6c 6c 20 63 6f 6d 65 20 77 69 74 68 20   will come with 
25020 38 2e 31 2e 20 28 44 4c 29 2e 0a 0a 38 2f 32 30  8.1. (DL)...8/20
25030 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 52 65  /97 (bug fix) Re
25040 6d 6f 76 65 64 20 63 68 65 63 6b 20 66 6f 72 20  moved check for 
25050 46 4c 54 5f 4d 49 4e 20 69 6e 20 62 69 6e 61 72  FLT_MIN in binar
25060 79 20 63 6f 6d 6d 61 6e 64 20 73 6f 0a 75 6e 64  y command so.und
25070 65 72 66 6c 6f 77 20 63 6f 6e 64 69 74 69 6f 6e  erflow condition
25080 73 20 61 72 65 20 68 61 6e 64 6c 65 64 20 62 79  s are handled by
25090 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 75   the compiler au
250a0 74 6f 6d 61 74 69 63 0a 63 6f 6e 76 65 72 73 69  tomatic.conversi
250b0 6f 6e 73 2e 20 28 53 53 29 0a 0a 38 2f 32 30 2f  ons. (SS)..8/20/
250c0 39 37 20 28 62 75 67 20 66 69 78 65 73 29 20 46  97 (bug fixes) F
250d0 69 78 65 64 20 73 65 76 65 72 61 6c 20 63 6f 6d  ixed several com
250e0 70 69 6c 61 74 69 6f 6e 2d 72 65 6c 61 74 65 64  pilation-related
250f0 20 62 75 67 73 3a 0a 20 20 20 20 2d 20 41 72 72   bugs:.    - Arr
25100 61 79 20 63 6d 64 20 77 61 73 6e 27 74 20 64 65  ay cmd wasn't de
25110 74 65 63 74 69 6e 67 20 61 72 72 61 79 73 20 74  tecting arrays t
25120 68 61 74 2c 20 77 68 69 6c 65 20 63 6f 6d 70 69  hat, while compi
25130 6c 65 64 2c 20 64 6f 20 6e 6f 74 20 79 65 74 0a  led, do not yet.
25140 20 20 20 20 20 20 65 78 69 73 74 20 28 65 2e 67        exist (e.g
25150 2e 2c 20 61 72 65 20 6d 61 72 6b 65 64 20 75 6e  ., are marked un
25160 64 65 66 69 6e 65 64 20 73 69 6e 63 65 20 74 68  defined since th
25170 65 79 20 68 61 76 65 6e 27 74 20 62 65 65 6e 20  ey haven't been 
25180 61 73 73 69 67 6e 65 64 0a 20 20 20 20 20 20 74  assigned.      t
25190 6f 20 79 65 74 29 2e 0a 20 20 20 20 2d 20 54 68  o yet)..    - Th
251a0 65 20 47 65 74 54 6f 6b 65 6e 20 70 72 6f 63 65  e GetToken proce
251b0 64 75 72 65 20 69 6e 20 74 63 6c 43 6f 6d 70 45  dure in tclCompE
251c0 78 70 72 2e 63 20 77 61 73 6e 27 74 20 72 65 63  xpr.c wasn't rec
251d0 6f 67 6e 69 7a 69 6e 67 20 70 72 6f 70 65 72 6c  ognizing properl
251e0 79 0a 20 20 20 20 20 20 77 68 65 74 68 65 72 20  y.      whether 
251f0 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 6b 65 6e  an integer token
25200 20 77 61 73 20 69 6e 76 61 6c 69 64 2e 20 46 6f   was invalid. Fo
25210 72 20 65 78 61 6d 70 6c 65 2c 20 22 30 78 24 22  r example, "0x$"
25220 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 61 20   is not.      a 
25230 76 61 6c 69 64 20 69 6e 74 65 67 65 72 2e 0a 20  valid integer.. 
25240 20 20 20 2d 20 50 65 72 66 6f 72 6d 61 6e 63 65     - Performance
25250 20 62 75 67 20 69 6e 20 54 63 6c 45 78 65 63 75   bug in TclExecu
25260 74 65 42 79 74 65 43 6f 64 65 3a 20 74 68 65 20  teByteCode: the 
25270 73 69 7a 65 20 6f 66 20 69 74 73 20 73 74 61 63  size of its stac
25280 6b 20 66 72 61 6d 65 0a 20 20 20 20 20 20 77 61  k frame.      wa
25290 73 20 72 65 64 75 63 65 64 20 62 79 20 6f 76 65  s reduced by ove
252a0 72 20 32 30 25 20 62 79 20 6d 6f 76 69 6e 67 20  r 20% by moving 
252b0 65 72 72 6f 72 49 6e 66 6f 20 63 6f 64 65 20 65  errorInfo code e
252c0 6c 73 65 77 68 65 72 65 2e 0a 20 20 20 20 2d 20  lsewhere..    - 
252d0 55 6e 69 6e 69 74 69 61 6c 69 7a 65 64 20 6d 65  Uninitialized me
252e0 6d 6f 72 79 20 72 65 61 64 20 65 72 72 6f 72 20  mory read error 
252f0 69 6e 20 74 63 6c 43 6f 6d 70 69 6c 65 2e 63 2e  in tclCompile.c.
25300 20 28 42 4c 29 0a 0a 38 2f 32 31 2f 39 37 20 28   (BL)..8/21/97 (
25310 62 75 67 20 66 69 78 29 20 73 61 66 65 3a 3a 69  bug fix) safe::i
25320 6e 74 65 72 70 43 6f 6e 66 69 67 75 72 65 20 6e  nterpConfigure n
25330 6f 77 20 62 65 68 61 76 65 20 6c 69 6b 65 20 54  ow behave like T
25340 6b 20 77 69 64 67 65 74 27 73 0a 63 6f 6e 66 69  k widget's.confi
25350 67 75 72 65 20 3a 20 69 74 20 63 68 61 6e 67 65  gure : it change
25360 73 20 6f 6e 6c 79 20 74 68 65 20 6f 70 74 69 6f  s only the optio
25370 6e 73 20 79 6f 75 20 70 72 6f 76 69 64 65 20 61  ns you provide a
25380 6e 64 20 79 6f 75 20 63 61 6e 20 67 65 74 0a 74  nd you can get.t
25390 68 65 20 63 75 72 72 65 6e 74 20 76 61 6c 75 65  he current value
253a0 20 6f 66 20 61 6e 79 20 73 69 6e 67 6c 65 20 6f   of any single o
253b0 70 74 69 6f 6e 2e 20 4e 65 77 20 3f 2d 6e 65 73  ption. New ?-nes
253c0 74 65 64 20 62 6f 6f 6c 65 61 6e 3f 20 61 6e 64  ted boolean? and
253d0 0a 3f 2d 73 74 61 74 69 63 73 20 62 6f 6f 6c 65  .?-statics boole
253e0 61 6e 3f 20 66 6f 72 20 61 6c 6c 20 73 61 66 65  an? for all safe
253f0 3a 3a 69 6e 74 65 72 70 2a 20 63 6f 6d 6d 61 6e  ::interp* comman
25400 64 73 20 62 75 74 20 77 65 20 73 74 69 6c 6c 0a  ds but we still.
25410 61 63 63 65 70 74 20 28 75 70 77 61 72 64 20 63  accept (upward c
25420 6f 6d 70 61 74 69 62 69 6c 69 74 79 29 20 74 68  ompatibility) th
25430 65 20 70 72 65 76 69 6f 75 73 6c 79 20 64 65 66  e previously def
25440 69 6e 65 64 20 6e 6f 6e 20 76 61 6c 75 65 64 0a  ined non valued.
25450 66 6c 61 67 73 20 3f 2d 6e 6f 53 74 61 74 69 63  flags ?-noStatic
25460 73 3f 20 61 6e 64 20 3f 2d 6e 65 73 74 65 64 4c  s? and ?-nestedL
25470 6f 61 64 4f 6b 3f 2e 20 49 6d 70 72 6f 76 65 64  oadOk?. Improved
25480 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69   the documentati
25490 6f 6e 2e 20 28 44 4c 29 2e 0a 0a 38 2f 32 32 2f  on. (DL)...8/22/
254a0 39 37 20 28 62 75 67 20 66 69 78 29 20 55 70 64  97 (bug fix) Upd
254b0 61 74 65 64 20 50 72 69 6e 74 44 62 6c 2e 33 20  ated PrintDbl.3 
254c0 74 6f 20 72 65 66 6c 65 63 74 20 74 68 65 20 66  to reflect the f
254d0 61 63 74 20 74 68 61 74 20 74 68 65 0a 74 63 6c  act that the.tcl
254e0 5f 70 72 65 63 69 73 69 6f 6e 20 76 61 72 69 61  _precision varia
254f0 62 6c 65 20 69 73 20 73 74 69 6c 6c 20 75 73 65  ble is still use
25500 64 20 61 6e 64 20 74 68 61 74 20 69 74 20 69 73  d and that it is
25510 20 6e 6f 77 20 73 68 61 72 65 64 20 62 79 20 61   now shared by a
25520 6c 6c 0a 69 6e 74 65 72 70 72 65 74 65 72 73 2e  ll.interpreters.
25530 20 28 42 4c 29 0a 0a 38 2f 32 35 2f 39 37 20 28   (BL)..8/25/97 (
25540 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 61  bug fix) Fixed a
25550 72 72 61 79 20 61 63 63 65 73 73 20 62 75 67 20  rray access bug 
25560 69 6e 20 49 6c 6c 65 67 61 6c 45 78 70 72 4f 70  in IllegalExprOp
25570 65 72 61 6e 64 54 79 70 65 0a 70 72 6f 63 65 64  erandType.proced
25580 75 72 65 20 69 6e 20 74 63 6c 45 78 65 63 75 74  ure in tclExecut
25590 65 2e 63 3a 20 69 74 20 77 61 73 20 6e 6f 74 20  e.c: it was not 
255a0 70 72 6f 70 65 72 6c 79 20 73 75 70 70 6f 72 74  properly support
255b0 69 6e 67 20 74 68 65 20 7c 7c 20 61 6e 64 20 26  ing the || and &
255c0 26 0a 6f 70 65 72 61 74 6f 72 73 2e 20 28 42 4c  &.operators. (BL
255d0 29 0a 0a 38 2f 32 37 2f 39 37 20 28 62 75 67 20  )..8/27/97 (bug 
255e0 66 69 78 29 20 49 6e 20 63 61 73 65 73 20 77 68  fix) In cases wh
255f0 65 72 65 20 61 20 63 68 61 6e 6e 65 6c 20 68 61  ere a channel ha
25600 6e 64 6c 65 72 20 77 61 73 20 63 72 65 61 74 65  ndler was create
25610 64 20 77 69 74 68 20 61 6e 0a 65 6d 70 74 79 20  d with an.empty 
25620 65 76 65 6e 74 20 6d 61 73 6b 20 77 68 69 6c 65  event mask while
25630 20 64 61 74 61 20 77 61 73 20 73 74 69 6c 6c 20   data was still 
25640 62 75 66 66 65 72 65 64 20 69 6e 20 74 68 65 20  buffered in the 
25650 63 68 61 6e 6e 65 6c 2c 20 74 68 65 0a 63 68 61  channel, the.cha
25660 6e 6e 65 6c 20 63 6f 64 65 20 77 6f 75 6c 64 20  nnel code would 
25670 67 65 74 20 73 74 75 63 6b 20 73 70 69 6e 6e 69  get stuck spinni
25680 6e 67 20 6f 6e 20 61 20 74 69 6d 65 72 20 74 68  ng on a timer th
25690 61 74 20 77 6f 75 6c 64 20 73 74 61 72 76 65 0a  at would starve.
256a0 69 64 6c 65 20 68 61 6e 64 6c 65 72 73 2e 20 20  idle handlers.  
256b0 54 68 69 73 20 6d 6f 73 74 6c 79 20 68 61 70 70  This mostly happ
256c0 65 6e 65 64 20 69 6e 20 54 6b 20 77 68 65 6e 20  ened in Tk when 
256d0 72 65 61 64 69 6e 67 20 66 72 6f 6d 20 73 74 64  reading from std
256e0 69 6e 2e 20 28 53 53 29 0a 0a 39 2f 34 2f 39 37  in. (SS)..9/4/97
256f0 20 28 62 75 67 20 66 69 78 29 20 53 6c 61 76 65   (bug fix) Slave
25700 20 69 6e 74 65 72 70 73 20 6e 6f 77 20 69 6e 68   interps now inh
25710 65 72 69 74 20 74 68 65 20 6d 61 78 69 6d 75 6d  erit the maximum
25720 20 72 65 63 75 72 73 69 6f 6e 20 6c 69 6d 69 74   recursion limit
25730 0a 6f 66 20 74 68 65 69 72 20 70 61 72 65 6e 74  .of their parent
25740 20 69 6e 73 74 65 61 64 20 6f 66 20 73 74 61 72   instead of star
25750 74 69 6e 67 20 62 61 63 6b 20 61 74 20 74 68 65  ting back at the
25760 20 64 65 66 61 75 6c 74 2e 20 7b 6e 62 3a 20 74   default. {nb: t
25770 68 69 73 20 73 74 69 6c 6c 0a 64 6f 65 73 20 6e  his still.does n
25780 6f 74 20 70 72 65 76 65 6e 74 20 73 74 61 63 6b  ot prevent stack
25790 20 6f 76 65 72 66 6c 6f 77 20 62 79 20 6d 75 6c   overflow by mul
257a0 74 69 2d 69 6e 74 65 72 70 73 20 72 65 63 75 72  ti-interps recur
257b0 73 69 6f 6e 20 6f 72 20 61 6c 69 61 73 69 6e 67  sion or aliasing
257c0 7d 20 28 44 4c 29 0a 0a 39 2f 31 31 2f 39 37 20  } (DL)..9/11/97 
257d0 28 62 75 67 20 66 69 78 29 20 41 6e 20 75 6e 69  (bug fix) An uni
257e0 6e 69 74 69 61 6c 69 7a 65 64 20 76 61 72 69 61  nitialized varia
257f0 62 6c 65 20 69 6e 20 54 63 6c 5f 57 61 69 74 50  ble in Tcl_WaitP
25800 69 64 20 63 61 75 73 65 64 0a 70 69 70 65 73 20  id caused.pipes 
25810 74 6f 20 66 61 69 6c 20 74 6f 20 72 65 70 6f 72  to fail to repor
25820 74 20 65 6f 66 20 70 72 6f 70 65 72 6c 79 20 75  t eof properly u
25830 6e 64 65 72 20 57 69 6e 64 6f 77 73 2e 20 28 53  nder Windows. (S
25840 53 29 0a 0a 39 2f 31 32 2f 39 37 20 28 62 75 67  S)..9/12/97 (bug
25850 20 66 69 78 29 20 22 65 78 65 63 22 20 77 61 73   fix) "exec" was
25860 20 6d 69 73 69 64 65 6e 74 69 66 79 69 6e 67 20   misidentifying 
25870 73 6f 6d 65 20 44 4f 53 20 65 78 65 63 75 74 61  some DOS executa
25880 62 6c 65 73 20 61 73 20 6e 6f 74 20 0a 65 78 65  bles as not .exe
25890 63 75 74 61 62 6c 65 2e 20 28 43 43 53 29 0a 0a  cutable. (CCS)..
258a0 39 2f 31 34 2f 39 37 20 28 62 75 67 20 66 69 78  9/14/97 (bug fix
258b0 29 20 57 61 73 20 75 73 69 6e 67 20 74 68 65 20  ) Was using the 
258c0 77 72 6f 6e 67 20 73 74 72 75 63 74 75 72 65 20  wrong structure 
258d0 69 6e 20 73 69 7a 65 6f 66 20 6f 70 65 72 61 74  in sizeof operat
258e0 69 6f 6e 20 69 6e 0a 74 63 6c 55 6e 69 78 43 68  ion in.tclUnixCh
258f0 61 6e 2e 63 2e 20 28 4a 4c 29 0a 0a 39 2f 31 35  an.c. (JL)..9/15
25900 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69  /97 (bug fix) Fi
25910 78 65 64 20 6e 6f 74 69 66 69 65 72 20 74 6f 20  xed notifier to 
25920 62 72 65 61 6b 20 6f 75 74 20 6f 66 20 64 6f 2d  break out of do-
25930 6f 6e 65 2d 65 76 65 6e 74 20 6c 6f 6f 70 20 69  one-event loop i
25940 66 0a 54 63 6c 5f 57 61 69 74 46 6f 72 45 76 65  f.Tcl_WaitForEve
25950 6e 74 20 72 65 74 75 72 6e 73 20 31 2c 20 73 6f  nt returns 1, so
25960 20 74 68 61 74 20 63 61 6c 6c 65 72 73 20 6f 66   that callers of
25970 20 54 63 6c 5f 44 6f 4f 6e 65 45 76 65 6e 74 20   Tcl_DoOneEvent 
25980 77 69 6c 6c 20 67 65 74 0a 61 20 63 68 61 6e 63  will get.a chanc
25990 65 20 74 6f 20 63 68 65 63 6b 20 77 68 65 74 68  e to check wheth
259a0 65 72 20 74 68 65 20 65 76 65 6e 74 20 6a 75 73  er the event jus
259b0 74 20 68 61 6e 64 6c 65 64 20 69 73 20 73 69 67  t handled is sig
259c0 6e 69 66 69 63 61 6e 74 2e 20 54 68 69 73 0a 61  nificant. This.a
259d0 66 66 65 63 74 65 64 20 6d 61 69 6e 6c 79 20 72  ffected mainly r
259e0 65 63 75 72 73 69 76 65 20 63 61 6c 6c 73 20 74  ecursive calls t
259f0 6f 20 54 63 6c 5f 56 57 61 69 74 43 6d 64 3b 20  o Tcl_VWaitCmd; 
25a00 74 68 65 73 65 20 64 69 64 20 6e 6f 74 20 67 65  these did not ge
25a10 74 20 61 0a 63 68 61 6e 63 65 20 74 6f 20 6e 6f  t a.chance to no
25a20 74 69 63 65 20 74 68 61 74 20 74 68 65 20 76 61  tice that the va
25a30 72 69 61 62 6c 65 20 74 68 65 79 20 77 65 72 65  riable they were
25a40 20 77 61 69 74 69 6e 67 20 66 6f 72 20 68 61 73   waiting for has
25a50 20 62 65 65 6e 20 73 65 74 0a 61 6e 64 20 74 68   been set.and th
25a60 75 73 20 74 68 65 79 20 64 69 64 6e 27 74 20 74  us they didn't t
25a70 65 72 6d 69 6e 61 74 65 20 74 68 65 20 76 77 61  erminate the vwa
25a80 69 74 2e 20 28 4a 4c 2c 20 44 4c 2c 20 53 53 29  it. (JL, DL, SS)
25a90 0a 0a 39 2f 31 35 2f 39 37 20 28 62 75 67 20 66  ..9/15/97 (bug f
25aa0 69 78 29 20 41 6c 69 67 6e 6d 65 6e 74 20 70 72  ix) Alignment pr
25ab0 6f 62 6c 65 6d 73 20 69 6e 20 22 62 69 6e 61 72  oblems in "binar
25ac0 79 20 66 6f 72 6d 61 74 22 20 77 6f 75 6c 64 20  y format" would 
25ad0 63 61 75 73 65 20 61 0a 63 72 61 73 68 20 6f 6e  cause a.crash on
25ae0 20 73 6f 6d 65 20 70 6c 61 74 66 6f 72 6d 73 20   some platforms 
25af0 77 68 65 6e 20 66 6f 72 6d 61 74 74 69 6e 67 20  when formatting 
25b00 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e  floating point n
25b10 75 6d 62 65 72 73 2e 20 28 53 53 29 0a 0a 39 2f  umbers. (SS)..9/
25b20 31 35 2f 39 37 20 28 62 75 67 20 66 69 78 29 20  15/97 (bug fix) 
25b30 46 69 78 65 64 20 62 75 67 20 69 6e 20 4d 61 63  Fixed bug in Mac
25b40 69 6e 74 6f 73 68 20 73 6f 63 6b 65 74 20 63 6f  intosh socket co
25b50 64 65 2e 20 20 4e 6f 77 20 70 61 73 73 65 73 20  de.  Now passes 
25b60 61 6c 6c 0a 74 65 73 74 73 20 69 6e 20 73 6f 63  all.tests in soc
25b70 6b 65 74 2e 74 65 73 74 20 74 68 61 74 20 61 72  ket.test that ar
25b80 65 20 6e 6f 74 20 70 6c 61 74 66 6f 72 6d 20 73  e not platform s
25b90 70 65 63 69 66 69 63 2e 20 28 54 68 61 6e 6b 73  pecific. (Thanks
25ba0 20 74 6f 20 4d 61 72 6b 0a 52 6f 73 65 6d 61 6e   to Mark.Roseman
25bb0 20 66 6f 72 20 74 68 65 20 70 6f 69 6e 74 65 72   for the pointer
25bc0 20 6f 6e 20 74 68 65 20 66 69 78 2e 29 20 20 28   on the fix.)  (
25bd0 52 4a 29 0a 0a 39 2f 31 38 2f 39 37 20 28 62 75  RJ)..9/18/97 (bu
25be0 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67  g fix) Fixed bug
25bf0 20 2d 64 69 63 74 69 6f 6e 61 72 79 20 6f 70 74   -dictionary opt
25c00 69 6f 6e 20 6f 66 20 6c 73 6f 72 74 20 74 68 61  ion of lsort tha
25c10 74 20 63 6f 75 6c 64 0a 63 61 75 73 65 20 74 68  t could.cause th
25c20 65 20 63 6f 6d 70 61 72 65 20 66 75 6e 63 74 69  e compare functi
25c30 6f 6e 20 74 6f 20 72 75 6e 20 6f 66 66 20 74 68  on to run off th
25c40 65 20 65 6e 64 20 6f 66 20 61 6e 20 61 72 72 61  e end of an arra
25c50 79 20 69 66 20 74 68 65 0a 6e 75 6d 62 65 72 20  y if the.number 
25c60 6f 6e 6c 79 20 63 6f 6e 74 61 69 6e 65 64 20 30  only contained 0
25c70 27 73 2e 20 28 54 68 61 6e 6b 73 20 74 6f 20 47  's. (Thanks to G
25c80 72 65 67 20 43 6f 75 63 68 20 66 6f 72 20 74 68  reg Couch for th
25c90 65 20 72 65 70 6f 72 74 2e 29 20 28 52 4a 29 0a  e report.) (RJ).
25ca0 0a 39 2f 31 38 2f 39 37 20 28 62 75 67 20 66 69  .9/18/97 (bug fi
25cb0 78 29 20 54 63 6c 46 69 6e 61 6c 69 7a 65 45 6e  x) TclFinalizeEn
25cc0 76 69 72 6f 6e 6d 65 6e 74 20 77 61 73 20 6e 6f  vironment was no
25cd0 74 20 63 6c 65 61 6e 69 6e 67 20 75 70 20 0a 70  t cleaning up .p
25ce0 72 6f 70 65 72 6c 79 2e 20 28 44 4c 2c 20 4a 49  roperly. (DL, JI
25cf0 29 0a 0a 39 2f 31 38 2f 39 37 20 28 62 75 67 20  )..9/18/97 (bug 
25d00 66 69 78 29 20 46 69 78 65 64 20 6c 6f 6e 67 2d  fix) Fixed long-
25d10 73 74 61 6e 64 69 6e 67 20 62 75 67 20 77 68 65  standing bug whe
25d20 72 65 20 61 6e 20 22 61 72 72 61 79 20 67 65 74  re an "array get
25d30 22 20 63 6f 6d 6d 61 6e 64 0a 64 69 64 20 6e 6f  " command.did no
25d40 74 20 74 72 69 67 67 65 72 20 74 72 61 63 65 73  t trigger traces
25d50 20 6f 6e 20 74 68 65 20 61 72 72 61 79 20 6f 72   on the array or
25d60 20 69 74 73 20 65 6c 65 6d 65 6e 74 73 2e 20 28   its elements. (
25d70 42 4c 29 0a 0a 39 2f 31 38 2f 39 37 20 28 62 75  BL)..9/18/97 (bu
25d80 67 20 66 69 78 65 73 29 20 46 69 78 65 64 20 63  g fixes) Fixed c
25d90 6f 6d 70 69 6c 61 74 69 6f 6e 2d 72 65 6c 61 74  ompilation-relat
25da0 65 64 20 62 75 67 73 3a 0a 20 20 20 20 2d 20 46  ed bugs:.    - F
25db0 69 78 65 64 20 65 72 72 6f 72 49 6e 66 6f 20 74  ixed errorInfo t
25dc0 72 61 63 65 62 61 63 6b 20 69 6e 66 6f 72 6d 61  raceback informa
25dd0 74 69 6f 6e 20 66 6f 72 20 74 6f 70 6c 65 76 65  tion for topleve
25de0 6c 20 63 6f 6f 6d 61 6e 64 73 20 74 68 61 74 0a  l coomands that.
25df0 20 20 20 20 20 20 63 6f 6e 74 61 69 6e 20 6e 65        contain ne
25e00 73 74 65 64 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20  sted commands.. 
25e10 20 20 20 2d 20 49 6e 20 74 68 65 20 65 78 70 72     - In the expr
25e20 20 63 6f 6d 6d 61 6e 64 2c 20 26 26 20 61 6e 64   command, && and
25e30 20 7c 7c 20 6e 6f 77 20 61 63 63 65 70 74 20 62   || now accept b
25e40 6f 6f 6c 65 61 6e 20 6f 70 65 72 61 6e 64 73 20  oolean operands 
25e50 61 73 20 77 65 6c 6c 0a 20 20 20 20 20 20 61 73  as well.      as
25e60 20 6e 75 6d 65 72 69 63 20 6f 6e 65 73 2e 20 28   numeric ones. (
25e70 42 4c 29 0a 0a 39 2f 32 32 2f 39 37 20 28 62 75  BL)..9/22/97 (bu
25e80 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67  g fix) Fixed bug
25e90 20 74 68 61 74 20 70 72 65 76 65 6e 74 65 64 20   that prevented 
25ea0 74 72 61 6e 73 6c 61 74 69 6f 6e 20 6d 6f 64 65  translation mode
25eb0 73 20 66 72 6f 6d 20 62 65 69 6e 67 0a 73 65 74  s from being.set
25ec0 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 20 66   independently f
25ed0 6f 72 20 69 6e 70 75 74 20 61 6e 64 20 6f 75 74  or input and out
25ee0 70 75 74 20 6f 6e 20 73 6f 63 6b 65 74 73 20 69  put on sockets i
25ef0 66 20 69 6e 70 75 74 20 77 61 73 20 22 61 75 74  f input was "aut
25f00 6f 22 2e 20 28 4a 4c 29 0a 0a 39 2f 32 34 2f 39  o". (JL)..9/24/9
25f10 37 20 28 62 75 67 20 66 69 78 29 20 54 63 6c 5f  7 (bug fix) Tcl_
25f20 45 76 61 6c 46 69 6c 65 28 33 29 20 61 6e 64 20  EvalFile(3) and 
25f30 74 68 75 73 20 73 6f 75 72 63 65 28 6e 29 20 6e  thus source(n) n
25f40 6f 77 20 77 6f 72 6b 73 20 66 69 6e 65 20 6f 6e  ow works fine on
25f50 0a 66 69 6c 65 73 20 63 6f 6e 74 61 69 6e 69 6e  .files containin
25f60 67 20 4e 55 4c 20 63 68 61 72 73 2e 20 28 44 4c  g NUL chars. (DL
25f70 29 0a 0a 39 2f 32 36 2f 39 37 20 28 62 75 67 20  )..9/26/97 (bug 
25f80 66 69 78 29 20 46 69 78 65 64 20 75 73 65 20 6f  fix) Fixed use o
25f90 66 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 20  f uninitialized 
25fa0 6d 65 6d 6f 72 79 20 69 6e 20 74 68 65 20 65 6e  memory in the en
25fb0 76 69 72 6f 6e 20 61 72 72 61 79 0a 74 68 61 74  viron array.that
25fc0 20 6c 61 74 65 72 20 63 6f 75 6c 64 20 63 61 75   later could cau
25fd0 73 65 20 72 61 6e 64 6f 6d 20 63 6f 72 65 20 64  se random core d
25fe0 75 6d 70 73 2e 20 41 70 70 6c 69 65 73 20 74 6f  umps. Applies to
25ff0 20 61 6c 6c 20 70 6c 61 74 66 6f 72 6d 73 2e 20   all platforms. 
26000 28 4a 4c 29 0a 0a 39 2f 32 36 2f 39 37 20 28 62  (JL)..9/26/97 (b
26010 75 67 20 66 69 78 29 20 46 69 78 65 64 20 75 73  ug fix) Fixed us
26020 65 20 6f 66 20 75 6e 69 6e 69 74 69 61 6c 69 7a  e of uninitializ
26030 65 64 20 6d 65 6d 6f 72 79 20 69 6e 20 73 6f 63  ed memory in soc
26040 6b 65 74 20 61 64 64 72 65 73 73 20 64 61 74 61  ket address data
26050 0a 73 74 72 75 63 74 75 72 65 20 75 6e 64 65 72  .structure under
26060 20 73 6f 6d 65 20 63 69 72 63 75 6d 73 74 61 6e   some circumstan
26070 63 65 73 2e 20 54 68 69 73 20 63 6f 75 6c 64 20  ces. This could 
26080 63 61 75 73 65 20 72 61 6e 64 6f 6d 20 63 6f 72  cause random cor
26090 65 20 64 75 6d 70 73 2e 0a 54 68 69 73 20 61 70  e dumps..This ap
260a0 70 6c 69 65 73 20 6f 6e 6c 79 20 74 6f 20 55 6e  plies only to Un
260b0 69 78 2e 20 28 4a 4c 29 0a 0a 39 2f 32 36 2f 39  ix. (JL)..9/26/9
260c0 37 20 28 62 75 67 20 66 69 78 29 20 4f 70 65 6e  7 (bug fix) Open
260d0 69 6e 67 20 66 69 6c 65 73 20 6f 6e 20 50 43 2d  ing files on PC-
260e0 4e 46 53 20 76 6f 6c 75 6d 65 73 20 77 6f 75 6c  NFS volumes woul
260f0 64 20 63 61 75 73 65 20 61 20 68 61 6e 67 0a 75  d cause a hang.u
26100 6e 74 69 6c 20 74 68 65 20 73 79 73 74 65 6d 20  ntil the system 
26110 74 69 6d 65 64 20 61 66 74 65 72 20 74 68 65 20  timed after the 
26120 66 69 6c 65 20 77 61 73 20 63 6c 6f 73 65 64 2e  file was closed.
26130 20 28 53 53 29 0a 0a 31 30 2f 36 2f 39 37 20 28   (SS)..10/6/97 (
26140 62 75 67 20 66 69 78 29 20 54 68 65 20 6a 6f 69  bug fix) The joi
26150 6e 28 6e 29 20 63 6f 6d 6d 61 6e 64 2c 20 74 68  n(n) command, th
26160 6f 75 67 68 20 6f 62 6a 65 63 74 69 66 69 65 64  ough objectified
26170 2c 20 77 61 73 20 6c 6f 6f 73 69 6e 67 0a 4e 55  , was loosing.NU
26180 4c 73 20 69 6e 20 74 68 65 20 6a 6f 69 6e 53 74  Ls in the joinSt
26190 72 69 6e 67 20 61 6e 64 20 69 6e 20 6c 69 73 74  ring and in list
261a0 20 65 6c 65 6d 65 6e 74 73 20 61 66 74 65 72 20   elements after 
261b0 74 68 65 20 32 6e 64 20 6f 6e 65 2e 0a 4e 6f 77  the 2nd one..Now
261c0 20 79 6f 75 20 63 61 6e 20 22 6a 6f 69 6e 20 24   you can "join $
261d0 6c 69 73 74 20 5c 30 22 20 66 6f 72 20 69 6e 73  list \0" for ins
261e0 74 61 6e 63 65 2e 20 28 44 4c 29 0a 0a 31 30 2f  tance. (DL)..10/
261f0 39 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 55  9/97 (bug fix) U
26200 6e 64 65 72 20 77 69 6e 64 6f 77 73 2c 20 69 66  nder windows, if
26210 20 65 6e 76 28 54 4d 50 29 20 6f 72 20 65 6e 76   env(TMP) or env
26220 28 54 45 4d 50 29 20 72 65 66 65 72 72 65 64 20  (TEMP) referred 
26230 74 6f 20 61 0a 6e 6f 6e 2d 65 78 69 73 74 65 6e  to a.non-existen
26240 74 20 64 69 72 65 63 74 6f 72 79 2c 20 65 78 65  t directory, exe
26250 63 20 77 6f 75 6c 64 20 66 61 69 6c 20 77 68 65  c would fail whe
26260 6e 20 74 72 79 69 6e 67 20 74 6f 20 63 72 65 61  n trying to crea
26270 74 65 20 69 74 73 20 74 65 6d 70 6f 72 61 72 79  te its temporary
26280 0a 66 69 6c 65 73 2e 20 28 43 43 53 29 0a 0a 31  .files. (CCS)..1
26290 30 2f 39 2f 39 37 20 28 62 75 67 20 66 69 78 29  0/9/97 (bug fix)
262a0 20 55 6e 64 65 72 20 6d 61 63 20 61 6e 64 20 77   Under mac and w
262b0 69 6e 64 6f 77 73 2c 20 22 69 6e 66 6f 20 68 6f  indows, "info ho
262c0 73 74 6e 61 6d 65 22 20 77 6f 75 6c 64 20 63 72  stname" would cr
262d0 61 73 68 20 69 66 20 0a 73 6f 63 6b 65 74 73 20  ash if .sockets 
262e0 77 65 72 65 20 69 6e 73 74 61 6c 6c 65 64 20 62  were installed b
262f0 75 74 20 74 68 65 20 68 6f 73 74 6e 61 6d 65 20  ut the hostname 
26300 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 64 65 74  could not be det
26310 65 72 6d 69 6e 65 64 20 61 6e 79 68 6f 77 2e 0a  ermined anyhow..
26320 54 63 6c 5f 47 65 74 48 6f 73 74 4e 61 6d 65 28  Tcl_GetHostName(
26330 29 20 77 61 73 20 72 65 74 75 72 6e 69 6e 67 20  ) was returning 
26340 4e 55 4c 4c 20 77 68 65 6e 20 69 74 20 73 68 6f  NULL when it sho
26350 75 6c 64 20 68 61 76 65 20 62 65 65 6e 20 72 65  uld have been re
26360 74 75 72 6e 69 6e 67 20 0a 61 6e 20 65 6d 70 74  turning .an empt
26370 79 20 73 74 72 69 6e 67 2e 20 28 43 43 53 29 0a  y string. (CCS).
26380 0a 31 30 2f 31 30 2f 39 37 20 28 62 75 67 20 66  .10/10/97 (bug f
26390 69 78 29 20 22 66 69 6c 65 20 61 74 74 72 69 62  ix) "file attrib
263a0 75 74 65 20 2f 22 20 72 65 74 75 72 6e 65 64 20  ute /" returned 
263b0 65 72 72 6f 72 20 6f 6e 20 77 69 6e 64 6f 77 73  error on windows
263c0 2e 20 28 43 43 53 29 0a 0a 31 30 2f 31 30 2f 39  . (CCS)..10/10/9
263d0 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  7 (bug fix) Fixe
263e0 64 20 74 68 65 20 61 75 74 6f 5f 6c 6f 61 64 20  d the auto_load 
263f0 70 72 6f 63 65 64 75 72 65 20 74 6f 20 68 61 6e  procedure to han
26400 64 6c 65 20 70 72 6f 63 65 64 75 72 65 73 0a 64  dle procedures.d
26410 65 66 69 6e 65 64 20 69 6e 20 6e 61 6d 65 73 70  efined in namesp
26420 61 63 65 73 20 62 65 74 74 65 72 2e 20 20 41 6c  aces better.  Al
26430 73 6f 20 66 69 78 65 64 20 70 67 6b 5f 6d 6b 49  so fixed pgk_mkI
26440 6e 64 65 78 20 73 6f 20 69 74 20 73 65 65 73 20  ndex so it sees 
26450 70 72 6f 63 65 64 75 72 65 73 0a 64 65 66 69 6e  procedures.defin
26460 65 64 20 69 6e 20 6e 65 73 74 65 64 20 6e 61 6d  ed in nested nam
26470 65 73 70 61 63 65 73 2e 20 20 49 6e 64 65 78 20  espaces.  Index 
26480 65 6e 74 72 69 65 73 20 61 72 65 20 73 74 69 6c  entries are stil
26490 6c 20 6f 6e 6c 79 20 6d 61 64 65 20 66 6f 72 0a  l only made for.
264a0 65 78 70 6f 72 74 65 64 20 70 72 6f 63 65 64 75  exported procedu
264b0 72 65 73 2e 20 28 42 57 29 0a 0a 31 30 2f 31 33  res. (BW)..10/13
264c0 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 4f 6e  /97 (bug fix) On
264d0 20 75 6e 69 78 2c 20 66 6f 72 20 66 69 6c 65 73   unix, for files
264e0 20 77 69 74 68 20 75 6e 6b 6e 6f 77 6e 20 67 72   with unknown gr
264f0 6f 75 70 20 6f 72 20 6f 77 6e 65 72 0a 61 74 74  oup or owner.att
26500 72 69 62 75 74 65 73 2c 20 71 75 65 72 79 69 6e  ributes, queryin
26510 67 20 74 68 65 20 22 66 69 6c 65 20 61 74 74 72  g the "file attr
26520 69 62 75 74 65 73 22 20 77 6f 75 6c 64 20 72 65  ibutes" would re
26530 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 72 61  turn an error ra
26540 74 68 65 72 20 74 68 61 6e 0a 72 65 74 75 72 6e  ther than.return
26550 69 6e 67 20 74 68 65 20 67 72 6f 75 70 27 73 20  ing the group's 
26560 6f 72 20 6f 77 6e 65 72 27 73 20 69 64 20 6e 75  or owner's id nu
26570 6d 62 65 72 2c 20 61 6c 74 68 6f 75 67 68 20 74  mber, although t
26580 68 61 20 63 6f 6d 6d 61 6e 64 20 61 63 63 65 70  ha command accep
26590 74 73 0a 6e 75 6d 62 65 72 73 20 77 68 65 6e 20  ts.numbers when 
265a0 73 65 74 74 69 6e 67 20 74 68 65 20 66 69 6c 65  setting the file
265b0 27 73 20 67 72 6f 75 70 20 6f 72 20 6f 77 6e 65  's group or owne
265c0 72 2e 20 20 28 43 43 53 29 0a 0a 31 30 2f 32 32  r.  (CCS)..10/22
265d0 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 22 66  /97 (bug fix) "f
265e0 63 6f 70 79 22 20 64 69 64 20 6e 6f 74 20 65 76  copy" did not ev
265f0 61 6c 20 74 68 65 20 63 61 6c 6c 62 61 63 6b 20  al the callback 
26600 73 63 72 69 70 74 20 61 74 20 74 68 65 0a 67 6c  script at the.gl
26610 6f 62 61 6c 20 73 63 6f 70 65 2e 20 28 53 53 29  obal scope. (SS)
26620 0a 0a 31 30 2f 32 32 2f 39 37 20 28 62 75 67 20  ..10/22/97 (bug 
26630 66 69 78 29 20 46 69 78 65 64 20 74 68 65 20 73  fix) Fixed the s
26640 69 67 6e 61 74 75 72 65 20 6f 66 20 74 68 65 20  ignature of the 
26650 43 6f 70 79 44 6f 6e 65 20 63 61 6c 6c 62 61 63  CopyDone callbac
26660 6b 20 75 73 65 64 20 69 6e 0a 74 68 65 20 68 74  k used in.the ht
26670 74 70 20 70 61 63 6b 61 67 65 28 73 29 20 73 6f  tp package(s) so
26680 20 74 68 65 79 20 63 61 6e 20 68 61 6e 64 6c 65   they can handle
26690 20 65 72 72 6f 72 20 63 61 73 65 73 20 70 72 6f   error cases pro
266a0 70 65 72 6c 79 2e 20 28 42 57 29 0a 0a 31 30 2f  perly. (BW)..10/
266b0 32 38 2f 39 37 20 28 62 75 67 20 66 69 78 65 73  28/97 (bug fixes
266c0 29 20 46 69 78 65 64 20 61 20 70 72 6f 62 6c 65  ) Fixed a proble
266d0 6d 20 77 68 65 72 65 20 6c 61 70 70 65 6e 64 20  m where lappend 
266e0 77 6f 75 6c 64 20 66 72 65 65 20 74 68 65 20 54  would free the T
266f0 63 6c 20 6f 62 6a 65 63 74 0a 69 6e 20 61 20 76  cl object.in a v
26700 61 72 69 61 62 6c 65 20 69 66 20 61 20 54 63 6c  ariable if a Tcl
26710 5f 4f 62 6a 53 65 74 56 61 72 32 20 66 61 69 6c  _ObjSetVar2 fail
26720 65 64 20 62 65 63 61 75 73 65 20 6f 66 20 61 6e  ed because of an
26730 20 65 72 72 6f 72 20 63 61 6c 6c 69 6e 67 20 61   error calling a
26740 20 74 72 61 63 65 0a 6f 6e 20 74 68 65 20 76 61   trace.on the va
26750 72 69 61 62 6c 65 2e 20 28 42 4c 29 0a 0a 31 30  riable. (BL)..10
26760 2f 32 38 2f 39 37 20 28 62 75 67 20 66 69 78 29  /28/97 (bug fix)
26770 20 43 68 61 6e 67 65 64 20 62 69 6e 61 72 79 20   Changed binary 
26780 73 63 61 6e 20 74 6f 20 70 72 6f 70 65 72 6c 79  scan to properly
26790 20 68 61 6e 64 6c 65 20 73 69 67 6e 0a 65 78 74   handle sign.ext
267a0 65 6e 73 69 6f 6e 20 6f 66 20 69 6e 74 65 67 65  ension of intege
267b0 72 73 20 6f 6e 20 36 34 2d 62 69 74 20 6f 72 20  rs on 64-bit or 
267c0 6c 61 72 67 65 72 20 6d 61 63 68 69 6e 65 73 2e  larger machines.
267d0 20 28 53 53 29 0a 0a 31 31 2f 33 2f 39 37 20 28   (SS)..11/3/97 (
267e0 62 75 67 20 66 69 78 65 73 29 20 46 69 78 65 64  bug fixes) Fixed
267f0 20 73 65 76 65 72 61 6c 20 62 75 67 73 3a 0a 20   several bugs:. 
26800 20 20 20 2d 20 65 78 70 72 65 73 73 69 6f 6e 73     - expressions
26810 20 73 75 63 68 20 61 73 20 22 65 78 70 72 20 28   such as "expr (
26820 24 78 29 22 20 6d 75 73 74 20 62 65 20 63 6f 6d  $x)" must be com
26830 70 69 6c 65 64 20 6f 75 74 2d 6f 66 2d 6c 69 6e  piled out-of-lin
26840 65 0a 20 20 20 20 20 20 28 63 61 6c 6c 20 74 68  e.      (call th
26850 65 20 65 78 70 72 20 63 6f 6d 6d 61 6e 64 20 70  e expr command p
26860 72 6f 63 65 64 75 72 65 20 61 74 20 72 75 6e 74  rocedure at runt
26870 69 6d 65 29 20 74 6f 20 65 6e 73 75 72 65 20 74  ime) to ensure t
26880 68 65 20 63 6f 72 72 65 63 74 0a 20 20 20 20 20  he correct.     
26890 20 62 65 68 61 76 69 6f 72 20 77 68 65 6e 20 22   behavior when "
268a0 24 78 22 20 69 73 20 61 6e 20 65 78 70 72 65 73  $x" is an expres
268b0 73 69 6f 6e 20 73 75 63 68 20 61 73 20 22 35 2b  sion such as "5+
268c0 31 30 22 2e 0a 20 20 20 20 2d 20 22 61 72 72 61  10"..    - "arra
268d0 79 20 73 65 74 20 61 20 7b 7d 22 20 6e 6f 77 20  y set a {}" now 
268e0 63 72 65 61 74 65 73 20 61 20 6e 65 77 20 61 72  creates a new ar
268f0 72 61 79 20 76 61 72 20 77 69 74 68 20 61 6e 20  ray var with an 
26900 65 6d 70 74 79 20 61 72 72 61 79 0a 20 20 20 20  empty array.    
26910 20 20 76 61 6c 75 65 20 69 66 20 74 68 65 20 76    value if the v
26920 61 72 20 64 69 64 6e 27 74 20 61 6c 72 65 61 64  ar didn't alread
26930 79 20 65 78 69 73 74 2e 0a 20 20 20 20 2d 20 22  y exist..    - "
26940 6c 72 65 70 6c 61 63 65 20 24 66 6f 6f 20 65 6e  lreplace $foo en
26950 64 20 65 6e 64 22 20 6e 6f 20 6c 6f 6e 67 65 72  d end" no longer
26960 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f   returns an erro
26970 72 20 28 6a 75 73 74 20 61 6e 20 65 6d 70 74 79  r (just an empty
26980 0a 20 20 20 20 20 20 6c 69 73 74 29 20 69 66 20  .      list) if 
26990 66 6f 6f 20 69 73 20 65 6d 70 74 79 2e 0a 20 20  foo is empty..  
269a0 20 20 2d 20 75 70 76 61 72 20 77 69 6c 6c 20 6e    - upvar will n
269b0 6f 20 6c 6f 6e 67 65 72 20 63 72 65 61 74 65 20  o longer create 
269c0 61 20 76 61 72 69 61 62 6c 65 20 69 6e 20 61 20  a variable in a 
269d0 6e 61 6d 65 73 70 61 63 65 20 74 68 61 74 20 72  namespace that r
269e0 65 66 65 72 73 0a 20 20 20 20 20 20 74 6f 20 61  efers.      to a
269f0 20 76 61 72 69 61 62 6c 65 20 69 6e 20 61 20 70   variable in a p
26a00 72 6f 63 65 64 75 72 65 2e 0a 20 20 20 20 2d 20  rocedure..    - 
26a10 64 65 6c 65 74 69 6e 67 20 61 20 63 6f 6d 6d 61  deleting a comma
26a20 6e 64 20 74 72 61 63 65 20 77 69 74 68 69 6e 20  nd trace within 
26a30 61 20 63 6f 6d 6d 61 6e 64 20 74 72 61 63 65 20  a command trace 
26a40 63 61 6c 6c 62 61 63 6b 20 77 6f 75 6c 64 0a 20  callback would. 
26a50 20 20 20 20 20 6d 61 6b 65 20 74 68 65 20 63 6f       make the co
26a60 64 65 20 74 68 61 74 20 63 61 6c 6c 73 20 74 72  de that calls tr
26a70 61 63 65 73 20 74 6f 20 72 65 66 65 72 65 6e 63  aces to referenc
26a80 65 20 66 72 65 65 64 20 6d 65 6d 6f 72 79 2e 0a  e freed memory..
26a90 20 20 20 20 2d 20 73 69 67 6e 69 66 69 63 61 6e      - significan
26aa0 74 6c 79 20 73 70 65 64 20 75 70 20 22 73 74 72  tly sped up "str
26ab0 69 6e 67 20 66 69 72 73 74 22 20 61 6e 64 20 22  ing first" and "
26ac0 73 74 72 69 6e 67 20 6c 61 73 74 22 20 28 66 69  string last" (fi
26ad0 78 20 66 72 6f 6d 0a 20 20 20 20 20 20 64 61 72  x from.      dar
26ae0 72 65 6c 40 67 65 6d 73 74 6f 6e 65 2e 63 6f 6d  [email protected]
26af0 29 2e 0a 20 20 20 20 2d 20 73 65 67 20 66 61 75  )..    - seg fau
26b00 6c 74 20 69 6e 20 54 63 6c 5f 4e 65 77 53 74 72  lt in Tcl_NewStr
26b10 69 6e 67 4f 62 6a 28 29 20 77 68 65 6e 20 61 20  ingObj() when a 
26b20 4e 55 4c 4c 20 69 73 20 70 61 73 73 65 64 20 61  NULL is passed a
26b30 73 20 74 68 65 20 62 79 74 65 0a 20 20 20 20 20  s the byte.     
26b40 20 70 6f 69 6e 74 65 72 20 61 72 67 75 6d 65 6e   pointer argumen
26b50 74 20 61 6e 64 20 54 63 6c 20 69 73 20 63 6f 6d  t and Tcl is com
26b60 70 69 6c 65 64 20 77 69 74 68 20 2d 44 54 43 4c  piled with -DTCL
26b70 5f 4d 45 4d 5f 44 45 42 55 47 2e 0a 20 20 20 20  _MEM_DEBUG..    
26b80 2d 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20  - documentation 
26b90 61 6e 64 20 65 72 72 6f 72 20 6d 73 67 20 66 69  and error msg fi
26ba0 78 65 73 2e 20 28 42 4c 29 0a 0a 31 31 2f 33 2f  xes. (BL)..11/3/
26bb0 39 37 20 28 62 75 67 20 66 69 78 29 20 46 69 78  97 (bug fix) Fix
26bc0 65 64 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 49  ed a number of I
26bd0 2f 4f 20 62 75 67 73 20 72 65 6c 61 74 65 64 20  /O bugs related 
26be0 74 6f 20 77 6f 72 64 20 73 69 7a 65 73 20 6f 6e  to word sizes on
26bf0 0a 36 34 2d 62 69 74 20 6d 61 63 68 69 6e 65 73  .64-bit machines
26c00 2e 20 28 53 53 29 0a 0a 31 31 2f 36 2f 39 37 20  . (SS)..11/6/97 
26c10 28 62 75 67 20 66 69 78 29 20 54 68 65 20 65 78  (bug fix) The ex
26c20 69 74 20 63 6f 64 65 20 6f 66 20 74 68 65 20 66  it code of the f
26c30 69 72 73 74 20 70 72 6f 63 65 73 73 20 63 72 65  irst process cre
26c40 61 74 65 64 20 62 79 20 54 63 6c 0a 6f 6e 20 57  ated by Tcl.on W
26c50 69 6e 64 6f 77 73 20 77 61 73 20 6e 6f 74 20 70  indows was not p
26c60 72 6f 70 65 72 6c 79 20 72 65 70 6f 72 74 65 64  roperly reported
26c70 20 64 75 65 20 74 6f 20 61 6e 20 69 6e 69 74 69   due to an initi
26c80 61 6c 69 7a 61 74 69 6f 6e 0a 70 72 6f 62 6c 65  alization.proble
26c90 6d 2e 20 28 53 53 29 0a 0a 2d 2d 2d 2d 2d 2d 2d  m. (SS)..-------
26ca0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
26cb0 73 65 64 20 38 2e 30 70 31 2c 20 31 31 2f 37 2f  sed 8.0p1, 11/7/
26cc0 39 37 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  97 -------------
26cd0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 31 2f 31  ----------..11/1
26ce0 39 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 46  9/97 (bug fix) F
26cf0 69 78 65 64 20 62 75 67 20 69 6e 20 6c 69 6e 73  ixed bug in lins
26d00 65 72 74 20 77 68 65 72 65 20 69 74 20 73 6f 6d  ert where it som
26d10 65 74 69 6d 65 73 20 61 63 63 69 64 65 6e 74 6c  etimes accidentl
26d20 79 0a 63 6c 65 61 72 65 64 20 6f 75 74 20 61 20  y.cleared out a 
26d30 73 68 61 72 65 64 20 61 72 67 75 6d 65 6e 74 20  shared argument 
26d40 6c 69 73 74 20 6f 62 6a 65 63 74 2e 20 28 42 4c  list object. (BL
26d50 29 2e 0a 0a 31 31 2f 31 39 2f 39 37 20 28 62 75  )...11/19/97 (bu
26d60 67 20 66 69 78 29 20 41 75 74 6f 6c 6f 61 64 69  g fix) Autoloadi
26d70 6e 67 20 69 6e 20 6e 61 6d 65 73 70 61 63 65 73  ng in namespaces
26d80 20 77 61 73 20 6e 6f 74 20 77 6f 72 6b 69 6e 67   was not working
26d90 20 70 72 6f 70 65 72 6c 79 2e 0a 61 75 74 6f 5f   properly..auto_
26da0 6d 6b 69 6e 64 65 78 20 69 73 20 73 74 69 6c 6c  mkindex is still
26db0 20 6e 6f 74 20 72 65 61 6c 6c 79 20 6e 61 6d 65   not really name
26dc0 73 70 61 63 65 20 61 77 61 72 65 20 62 75 74 20  space aware but 
26dd0 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 0a 63 61 73 65  most common.case
26de0 73 20 73 68 6f 75 6c 64 20 6e 6f 77 20 62 65 20  s should now be 
26df0 68 61 6e 64 6c 65 64 20 70 72 6f 70 65 72 6c 79  handled properly
26e00 20 28 73 65 65 20 69 6e 69 74 2e 74 65 73 74 29   (see init.test)
26e10 2e 20 28 42 57 2c 20 44 4c 29 0a 0a 31 31 2f 32  . (BW, DL)..11/2
26e20 30 2f 39 37 20 28 65 6e 68 61 6e 63 65 6d 65 6e  0/97 (enhancemen
26e30 74 29 20 4d 61 64 65 20 74 68 65 20 63 68 61 6e  t) Made the chan
26e40 67 65 73 20 72 65 71 75 69 72 65 64 20 62 79 20  ges required by 
26e50 74 68 65 20 6e 65 77 20 41 70 70 6c 65 0a 55 6e  the new Apple.Un
26e60 69 76 65 72 73 61 6c 20 48 65 61 64 65 72 73 20  iversal Headers 
26e70 56 2e 33 2e 30 2c 20 73 6f 20 74 68 61 74 20 54  V.3.0, so that T
26e80 63 6c 20 77 69 6c 6c 20 63 6f 6d 70 69 6c 65 20  cl will compile 
26e90 77 69 74 68 20 43 57 20 50 72 6f 20 32 2e 0a 0a  with CW Pro 2...
26ea0 31 31 2f 32 34 2f 39 37 20 28 62 75 67 20 66 69  11/24/97 (bug fi
26eb0 78 29 20 46 69 78 65 64 20 74 65 73 74 73 20 69  x) Fixed tests i
26ec0 6e 20 63 6c 6f 63 6b 20 74 65 73 74 20 73 75 69  n clock test sui
26ed0 74 65 20 74 68 61 74 20 6e 65 65 64 65 64 20 74  te that needed t
26ee0 68 65 0a 2d 67 6d 74 20 66 6c 61 67 20 73 65 74  he.-gmt flag set
26ef0 2e 20 20 54 68 61 6e 6b 73 20 74 6f 20 4a 61 6e  .  Thanks to Jan
26f00 20 4e 69 6a 74 6d 61 6e 73 20 66 6f 72 20 72 65   Nijtmans for re
26f10 70 6f 72 74 69 6e 67 20 74 68 65 20 70 72 6f 62  porting the prob
26f20 6c 65 6d 2e 20 28 52 4a 29 0a 0a 2d 2d 2d 2d 2d  lem. (RJ)..-----
26f30 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c  ------------ Rel
26f40 65 61 73 65 64 20 38 2e 30 70 32 2c 20 31 31 2f  eased 8.0p2, 11/
26f50 32 35 2f 39 37 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  25/97 ----------
26f60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31  -------------..1
26f70 32 2f 33 2f 39 37 20 28 62 75 67 20 66 69 78 2f  2/3/97 (bug fix/
26f80 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 29 20 52 65  optimization) Re
26f90 6d 6f 76 65 64 20 75 6e 65 65 64 65 64 20 61 6e  moved uneeded an
26fa0 64 20 70 6f 74 65 6e 74 69 61 6c 6c 79 20 64 61  d potentially da
26fb0 6e 67 65 72 6f 75 73 0a 69 6e 73 74 61 6e 63 65  ngerous.instance
26fc0 73 20 6f 66 20 64 6f 75 62 6c 65 20 65 76 61 6c  s of double eval
26fd0 75 61 74 69 6f 6e 73 20 69 66 20 22 69 66 22 20  uations if "if" 
26fe0 61 6e 64 20 22 65 78 70 72 22 20 73 74 61 74 65  and "expr" state
26ff0 6d 65 6e 74 73 20 66 72 6f 6d 0a 74 68 65 20 6c  ments from.the l
27000 69 62 72 61 72 79 20 66 69 6c 65 73 2e 20 49 74  ibrary files. It
27010 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20   is recommended 
27020 74 68 61 74 20 75 6e 6c 65 73 73 20 79 6f 75 20  that unless you 
27030 6e 65 65 64 20 61 20 64 6f 75 62 6c 65 0a 65 76  need a double.ev
27040 61 6c 75 61 74 69 6f 6e 20 79 6f 75 20 61 6c 77  aluation you alw
27050 61 79 73 20 75 73 65 20 22 65 78 70 72 20 7b 2e  ays use "expr {.
27060 2e 2e 7d 22 20 69 6e 73 74 65 61 64 20 6f 66 20  ..}" instead of 
27070 22 65 78 70 72 20 2e 2e 2e 22 20 61 6e 64 0a 22  "expr ..." and."
27080 69 66 20 7b 2e 2e 2e 7d 20 2e 2e 2e 22 20 69 6e  if {...} ..." in
27090 73 74 65 61 64 20 6f 66 20 22 69 66 20 2e 2e 2e  stead of "if ...
270a0 20 2e 2e 2e 22 2e 20 49 74 20 77 69 6c 6c 20 61   ...". It will a
270b0 6c 73 6f 20 62 65 20 66 61 73 74 65 72 0a 74 68  lso be faster.th
270c0 61 6e 6b 73 20 74 6f 20 74 68 65 20 62 79 74 65  anks to the byte
270d0 20 63 6f 6d 70 69 6c 65 72 2e 20 28 44 4c 29 0a   compiler. (DL).
270e0 0a 2d 2d 2d 2d 20 53 68 69 70 70 65 64 20 61 73  .---- Shipped as
270f0 20 70 61 72 74 20 6f 66 20 74 68 65 20 70 6c 75   part of the plu
27100 67 69 6e 32 2e 30 62 35 20 61 73 20 38 2e 30 70  gin2.0b5 as 8.0p
27110 32 50 6c 75 67 69 6e 31 2c 20 44 65 63 20 38 74  2Plugin1, Dec 8t
27120 68 20 39 37 20 2d 2d 2d 2d 0a 0a 31 32 2f 38 2f  h 97 ----..12/8/
27130 39 37 20 28 62 75 67 20 66 69 78 29 20 4e 65 65  97 (bug fix) Nee
27140 64 20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65  d to protect the
27150 20 6e 65 77 6c 79 20 61 63 63 65 70 74 65 64 20   newly accepted 
27160 63 68 61 6e 6e 65 6c 20 69 6e 20 61 6e 0a 61 63  channel in an.ac
27170 63 65 70 74 20 63 61 6c 6c 62 61 63 6b 20 6f 6e  cept callback on
27180 20 61 20 73 6f 63 6b 65 74 2c 20 6f 74 68 65 72   a socket, other
27190 77 69 73 65 20 74 68 65 20 63 61 6c 6c 62 61 63  wise the callbac
271a0 6b 20 6d 61 79 20 63 6c 6f 73 65 20 69 74 20 61  k may close it a
271b0 6e 64 0a 63 61 75 73 65 20 61 6e 20 65 72 72 6f  nd.cause an erro
271c0 72 2c 20 77 68 69 63 68 20 77 6f 75 6c 64 20 63  r, which would c
271d0 61 75 73 65 20 74 68 65 20 43 20 63 6f 64 65 20  ause the C code 
271e0 74 6f 20 61 74 74 65 6d 70 74 20 74 6f 20 63 6c  to attempt to cl
271f0 6f 73 65 20 74 68 65 0a 6e 6f 77 20 64 65 6c 65  ose the.now dele
27200 74 65 64 20 63 68 61 6e 6e 65 6c 2e 20 42 75 6d  ted channel. Bum
27210 70 69 6e 67 20 74 68 65 20 72 65 66 63 6f 75 6e  ping the refcoun
27220 74 20 61 73 73 75 72 65 73 20 74 68 61 74 20 74  t assures that t
27230 68 65 20 63 68 61 6e 6e 65 6c 20 73 74 69 63 6b  he channel stick
27240 73 0a 61 72 6f 75 6e 64 20 74 6f 20 62 65 20 72  s.around to be r
27250 65 61 6c 6c 79 20 63 6c 6f 73 65 64 20 69 6e 20  eally closed in 
27260 74 68 69 73 20 63 61 73 65 2e 20 28 4a 4c 29 0a  this case. (JL).
27270 0a 31 32 2f 38 2f 39 37 20 28 62 75 67 20 66 69  .12/8/97 (bug fi
27280 78 29 20 4e 65 65 64 20 74 6f 20 70 72 6f 74 65  x) Need to prote
27290 63 74 20 74 68 65 20 63 68 61 6e 6e 65 6c 20 69  ct the channel i
272a0 6e 20 61 20 66 69 6c 65 65 76 65 6e 74 20 73 6f  n a fileevent so
272b0 20 74 68 61 74 20 69 74 0a 69 73 20 6e 6f 74 20   that it.is not 
272c0 64 65 6c 65 74 65 64 20 62 65 66 6f 72 65 20 74  deleted before t
272d0 68 65 20 66 69 6c 65 65 76 65 6e 74 20 68 61 6e  he fileevent han
272e0 64 6c 65 72 20 72 65 74 75 72 6e 73 2e 20 28 43  dler returns. (C
272f0 53 2c 20 4a 4c 29 0a 0a 31 32 2f 31 38 2f 39 37  S, JL)..12/18/97
27300 20 28 62 75 67 20 66 69 78 29 20 49 6e 20 74 68   (bug fix) In th
27310 65 20 6f 70 74 20 61 72 67 75 6d 65 6e 74 20 70  e opt argument p
27320 61 72 73 69 6e 67 20 70 61 63 6b 61 67 65 3a 20  arsing package: 
27330 69 66 20 74 68 65 20 64 65 73 63 72 69 70 74 69  if the descripti
27340 6f 6e 20 0a 68 61 64 20 6f 6e 6c 79 20 66 6c 61  on .had only fla
27350 67 73 2c 20 74 68 65 20 22 74 6f 6f 20 6d 61 6e  gs, the "too man
27360 79 20 61 72 67 75 6d 65 6e 74 73 22 20 63 61 73  y arguments" cas
27370 65 20 77 61 73 20 6e 6f 74 20 64 65 74 65 63 74  e was not detect
27380 65 64 2e 20 54 68 65 20 64 65 66 61 75 6c 74 0a  ed. The default.
27390 76 61 6c 75 65 20 77 61 73 20 6e 6f 74 20 75 73  value was not us
273a0 65 64 20 66 6f 72 20 74 68 65 20 73 70 65 63 69  ed for the speci
273b0 61 6c 20 22 61 72 67 73 22 20 65 6e 64 69 6e 67  al "args" ending
273c0 20 61 72 67 75 6d 65 6e 74 2e 20 28 44 4c 29 0a   argument. (DL).
273d0 0a 31 2f 31 35 2f 39 38 20 28 69 6d 70 72 6f 76  .1/15/98 (improv
273e0 65 6d 65 6e 74 29 20 4d 6f 76 65 64 20 63 6f 6d  ement) Moved com
273f0 6d 6f 6e 20 70 61 72 74 20 6f 66 20 69 6e 69 74  mon part of init
27400 53 63 72 69 70 74 20 69 6e 20 63 6f 6d 6d 6f 6e  Script in common
27410 20 66 69 6c 65 2e 0a 4d 6f 76 65 64 20 77 69 6e   file..Moved win
27420 64 6f 77 73 20 73 70 65 63 69 66 69 63 20 69 6e  dows specific in
27430 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 74 6f 20  itialization to 
27440 69 6e 69 74 2e 74 63 6c 20 73 6f 20 79 6f 75 20  init.tcl so you 
27450 63 61 6e 20 69 6e 69 74 69 61 6c 69 7a 65 0a 54  can initialize.T
27460 63 6c 20 69 6e 20 77 69 6e 64 6f 77 73 20 77 69  cl in windows wi
27470 74 68 6f 75 74 20 68 61 76 69 6e 67 20 74 6f 20  thout having to 
27480 63 61 6c 6c 20 54 63 6c 5f 49 6e 69 74 20 77 68  call Tcl_Init wh
27490 69 63 68 20 69 73 20 6e 6f 77 20 6f 6e 6c 79 0a  ich is now only.
274a0 73 65 61 72 63 68 69 6e 67 20 66 6f 72 20 69 6e  searching for in
274b0 69 74 2e 74 63 6c 20 7b 62 61 63 6b 20 70 6f 72  it.tcl {back por
274c0 74 65 64 20 66 72 6f 6d 20 38 2e 31 7d 2e 20 28  ted from 8.1}. (
274d0 44 4c 29 0a 0a 2d 2d 2d 2d 20 53 68 69 70 70 65  DL)..---- Shippe
274e0 64 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65  d as part of the
274f0 20 70 6c 75 67 69 6e 20 61 73 20 38 2e 30 70 32   plugin as 8.0p2
27500 50 6c 75 67 69 6e 32 2c 20 4a 61 6e 20 31 35 74  Plugin2, Jan 15t
27510 68 20 39 38 20 2d 2d 2d 2d 0a 0a 35 2f 32 37 2f  h 98 ----..5/27/
27520 39 38 20 28 62 75 67 20 66 69 78 29 20 57 69 6e  98 (bug fix) Win
27530 64 6f 77 73 20 73 6f 63 6b 65 74 20 64 72 69 76  dows socket driv
27540 65 72 20 64 69 64 20 6e 6f 74 20 6e 6f 74 69 63  er did not notic
27550 65 20 6e 65 77 20 64 61 74 61 20 61 72 72 69 76  e new data arriv
27560 69 6e 67 0a 6f 6e 20 6e 6f 6e 62 6c 6f 63 6b 69  ing.on nonblocki
27570 6e 67 20 73 6f 63 6b 65 74 73 20 75 6e 74 69 6c  ng sockets until
27580 20 74 68 65 20 65 76 65 6e 74 20 6c 6f 6f 70 20   the event loop 
27590 77 61 73 20 65 6e 74 65 72 65 64 2e 20 28 53 53  was entered. (SS
275a0 29 0a 0a 35 2f 32 37 2f 39 38 20 28 62 75 67 20  )..5/27/98 (bug 
275b0 66 69 78 29 20 57 69 6e 64 6f 77 73 20 73 6f 63  fix) Windows soc
275c0 6b 65 74 20 64 72 69 76 65 72 20 75 73 65 64 20  ket driver used 
275d0 46 49 4f 4e 52 45 41 44 2c 20 77 68 69 63 68 20  FIONREAD, which 
275e0 69 73 20 6e 6f 74 0a 73 75 70 70 6f 72 74 65 64  is not.supported
275f0 20 63 6f 72 72 65 63 74 6c 79 20 62 79 20 57 69   correctly by Wi
27600 6e 53 6f 63 6b 2e 20 28 53 53 29 0a 0a 36 2f 39  nSock. (SS)..6/9
27610 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 47 65  /98 (bug fix) Ge
27620 6e 65 72 69 63 20 63 68 61 6e 6e 65 6c 20 63 6f  neric channel co
27630 64 65 20 66 61 69 6c 65 64 20 74 6f 20 72 65 70  de failed to rep
27640 6f 72 74 20 72 65 61 64 61 62 6c 65 20 66 69 6c  ort readable fil
27650 65 0a 65 76 65 6e 74 73 20 6f 6e 20 62 75 66 66  e.events on buff
27660 65 72 65 64 20 64 61 74 61 20 74 68 61 74 20 77  ered data that w
27670 61 73 20 6c 65 66 74 20 62 65 68 69 6e 64 20 62  as left behind b
27680 79 20 61 20 67 65 74 73 20 6f 72 20 72 65 61 64  y a gets or read
27690 20 74 68 61 74 0a 64 69 64 20 6e 6f 74 20 63 6f   that.did not co
276a0 6e 73 75 6d 65 20 61 6c 6c 20 61 76 61 69 6c 61  nsume all availa
276b0 62 6c 65 20 64 61 74 61 2e 20 28 53 53 29 0a 0a  ble data. (SS)..
276c0 36 2f 31 38 2f 39 38 20 28 62 75 67 20 66 69 78  6/18/98 (bug fix
276d0 29 20 43 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66  ) Compilation of
276e0 20 6c 6f 6f 70 20 65 78 70 72 65 73 73 69 6f 6e   loop expression
276f0 73 20 77 61 73 20 74 6f 6f 20 61 67 67 72 65 73  s was too aggres
27700 73 69 76 65 0a 61 6e 64 20 69 6e 63 6f 72 72 65  sive.and incorre
27710 63 74 6c 79 20 69 6e 6c 69 6e 65 64 20 6e 6f 6e  ctly inlined non
27720 2d 6c 69 74 65 72 61 6c 20 65 78 70 72 65 73 73  -literal express
27730 69 6f 6e 73 2e 20 28 53 53 29 0a 0a 36 2f 31 38  ions. (SS)..6/18
27740 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 22 69  /98 (bug fix) "i
27750 6e 66 6f 20 76 61 72 22 20 61 6e 64 20 22 69 6e  nfo var" and "in
27760 66 6f 20 6c 6f 63 61 6c 73 22 20 69 6e 63 6f 72  fo locals" incor
27770 72 65 63 74 6c 79 20 72 65 70 6f 72 74 65 64 0a  rectly reported.
27780 74 68 65 20 65 78 69 73 74 65 6e 63 65 20 6f 66  the existence of
27790 20 63 6f 6d 70 69 6c 65 72 20 74 65 6d 70 6f 72   compiler tempor
277a0 61 72 79 20 76 61 72 69 61 62 6c 65 73 2e 20 28  ary variables. (
277b0 53 53 29 0a 0a 36 2f 31 38 2f 39 38 20 28 62 75  SS)..6/18/98 (bu
277c0 67 20 66 69 78 29 20 44 69 63 74 69 6f 6e 61 72  g fix) Dictionar
277d0 79 20 73 6f 72 74 69 6e 67 20 75 73 65 64 20 73  y sorting used s
277e0 69 67 6e 65 64 20 63 68 61 72 61 63 74 65 72 0a  igned character.
277f0 63 6f 6d 70 61 72 69 73 6f 6e 73 2e 20 28 53 53  comparisons. (SS
27800 29 0a 0a 36 2f 31 38 2f 39 38 20 28 62 75 67 20  )..6/18/98 (bug 
27810 66 69 78 29 20 43 6f 6d 70 69 6c 65 20 70 72 6f  fix) Compile pro
27820 63 73 20 63 6f 72 72 75 70 74 65 64 20 74 68 65  cs corrupted the
27830 20 65 78 63 65 70 74 69 6f 6e 20 73 74 61 63 6b   exception stack
27840 20 69 6e 20 73 6f 6d 65 0a 63 61 73 65 73 2e 20   in some.cases. 
27850 28 53 53 29 0a 0a 36 2f 31 38 2f 39 38 20 28 62  (SS)..6/18/98 (b
27860 75 67 20 66 69 78 29 20 41 72 72 61 79 20 73 65  ug fix) Array se
27870 74 20 68 61 64 20 65 72 72 61 74 69 63 20 62 65  t had erratic be
27880 68 61 76 69 6f 72 20 77 68 65 6e 20 69 6e 69 74  havior when init
27890 69 61 6c 69 7a 69 6e 67 20 61 0a 76 61 72 69 61  ializing a.varia
278a0 62 6c 65 20 66 72 6f 6d 20 61 6e 20 65 6d 70 74  ble from an empt
278b0 79 20 76 61 6c 75 65 20 6c 69 73 74 2e 20 28 53  y value list. (S
278c0 53 29 0a 0a 36 2f 31 38 2f 39 38 20 28 62 75 67  S)..6/18/98 (bug
278d0 20 66 69 78 29 20 54 68 65 20 57 69 6e 64 6f 77   fix) The Window
278e0 73 20 72 65 67 69 73 74 72 79 20 70 61 63 6b 61  s registry packa
278f0 67 65 20 68 61 64 20 61 20 62 61 64 20 62 6f 75  ge had a bad bou
27900 6e 64 73 20 63 68 65 63 6b 0a 74 68 61 74 20 63  nds check.that c
27910 6f 75 6c 64 20 6c 65 61 64 20 74 6f 20 61 20 63  ould lead to a c
27920 72 61 73 68 2e 20 28 53 53 29 0a 0a 36 2f 31 38  rash. (SS)..6/18
27930 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 54 68  /98 (bug fix) Th
27940 65 20 66 6f 72 65 61 63 68 20 63 6f 6d 70 69 6c  e foreach compil
27950 65 20 70 72 6f 63 20 64 69 64 20 6e 6f 74 20 63  e proc did not c
27960 6f 72 72 65 63 74 6c 79 20 68 61 6e 64 6c 65 0a  orrectly handle.
27970 6e 6f 6e 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62  non-local variab
27980 6c 65 20 72 65 66 65 72 65 6e 63 65 73 2e 20 28  le references. (
27990 53 53 29 0a 0a 36 2f 32 35 2f 39 38 20 28 6e 65  SS)..6/25/98 (ne
279a0 77 20 66 65 61 74 75 72 65 73 29 20 41 64 64 65  w features) Adde
279b0 64 20 6e 61 6d 65 20 72 65 73 6f 6c 75 74 69 6f  d name resolutio
279c0 6e 20 68 6f 6f 6b 73 20 74 6f 20 73 75 70 70 6f  n hooks to suppo
279d0 72 74 20 5b 69 6e 63 72 20 54 63 6c 5d 2e 0a 54  rt [incr Tcl]..T
279e0 68 65 72 65 20 61 72 65 20 6e 65 77 20 69 6e 74  here are new int
279f0 65 72 6e 61 6c 20 54 63 6c 5f 2a 52 65 73 6f 6c  ernal Tcl_*Resol
27a00 76 65 72 2a 20 41 50 49 73 20 74 6f 20 61 64 64  ver* APIs to add
27a10 2c 20 71 75 65 72 79 20 61 6e 64 20 72 65 6d 6f  , query and remo
27a20 76 65 20 74 68 65 20 68 6f 6f 6b 73 2e 20 0a 57  ve the hooks. .W
27a30 69 74 68 20 74 68 69 73 20 63 68 61 6e 67 65 73  ith this changes
27a40 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 70 6f   it should be po
27a50 73 73 69 62 6c 65 20 74 6f 20 64 79 6e 61 6d 69  ssible to dynami
27a60 63 61 6c 6c 79 20 6c 6f 61 64 20 5b 69 6e 63 72  cally load [incr
27a70 20 54 63 6c 5d 0a 61 73 20 61 6e 20 65 78 74 65   Tcl].as an exte
27a80 6e 73 69 6f 6e 2e 20 28 4d 4d 29 0a 0a 37 2f 31  nsion. (MM)..7/1
27a90 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 54 68  /97 (bug fix) Th
27aa0 65 20 63 6f 6d 6d 61 6e 64 73 20 22 69 6e 66 6f  e commands "info
27ab0 20 61 72 67 73 2c 20 62 6f 64 79 2c 20 64 65 66   args, body, def
27ac0 61 75 6c 74 2c 20 70 72 6f 63 73 22 20 64 69 64  ault, procs" did
27ad0 0a 6e 6f 74 20 63 6f 72 72 65 63 74 6c 79 20 68  .not correctly h
27ae0 61 6e 64 6c 65 20 69 6d 70 6f 72 74 65 64 20 70  andle imported p
27af0 72 6f 63 65 64 75 72 65 73 2e 20 28 52 4a 29 0a  rocedures. (RJ).
27b00 0a 37 2f 36 2f 39 38 20 28 69 6d 70 72 6f 76 65  .7/6/98 (improve
27b10 6d 65 6e 74 29 20 70 6b 67 5f 6d 6b 49 6e 64 65  ment) pkg_mkInde
27b20 78 20 6e 6f 77 20 69 6d 70 6c 65 6d 65 6e 74 73  x now implements
27b30 20 74 68 65 20 22 70 61 63 6b 61 67 65 20 72 65   the "package re
27b40 71 75 69 72 65 22 0a 63 6f 6d 6d 61 6e 64 2e 20  quire".command. 
27b50 20 54 68 69 73 20 6d 61 6b 65 73 20 69 74 20 70   This makes it p
27b60 6f 73 73 69 62 6c 65 20 74 6f 20 63 72 65 61 74  ossible to creat
27b70 65 20 69 6e 64 65 78 20 66 69 6c 65 73 20 66 6f  e index files fo
27b80 72 20 70 61 63 6b 61 67 65 73 0a 74 68 61 74 20  r packages.that 
27b90 72 65 71 75 69 72 65 20 61 6e 6f 74 68 65 72 20  require another 
27ba0 70 61 63 6b 61 67 65 20 61 6e 64 20 74 68 65 6e  package and then
27bb0 20 65 78 65 63 75 74 65 20 63 6f 64 65 20 66 72   execute code fr
27bc0 6f 6d 20 74 68 61 74 20 70 61 63 6b 61 67 65 20  om that package 
27bd0 69 6e 0a 74 68 65 69 72 20 66 69 6c 65 2e 20 50  in.their file. P
27be0 72 65 76 69 6f 75 73 6c 79 2c 20 74 68 69 73 20  reviously, this 
27bf0 77 6f 75 6c 64 20 74 68 72 6f 77 20 61 6e 20 65  would throw an e
27c00 72 72 6f 72 20 62 65 63 61 75 73 65 20 74 68 65  rror because the
27c10 20 72 65 71 75 69 72 65 64 0a 70 61 63 6b 61 67   required.packag
27c20 65 20 68 61 64 20 6e 6f 74 20 62 65 65 6e 20 6c  e had not been l
27c30 6f 61 64 65 64 2e 20 20 54 68 65 20 2d 6e 6f 70  oaded.  The -nop
27c40 6b 67 72 65 71 75 69 65 64 20 66 6c 61 67 20 69  kgrequied flag i
27c50 73 20 70 72 6f 76 69 64 65 64 20 74 6f 0a 72 65  s provided to.re
27c60 76 65 72 74 20 62 61 63 6b 20 74 6f 20 74 68 65  vert back to the
27c70 20 6f 6c 64 20 66 75 6e 63 74 69 6f 6e 61 6c 69   old functionali
27c80 74 79 2e 20 28 45 4d 53 29 0a 0a 37 2f 36 2f 39  ty. (EMS)..7/6/9
27c90 38 20 28 69 6d 70 72 6f 76 65 6d 65 6e 74 29 20  8 (improvement) 
27ca0 62 61 63 6b 2d 70 6f 72 74 65 64 20 74 68 65 20  back-ported the 
27cb0 2d 64 69 72 65 63 74 20 66 6c 61 67 20 66 72 6f  -direct flag fro
27cc0 6d 20 38 2e 31 20 69 6e 74 6f 0a 70 6b 67 5f 6d  m 8.1 into.pkg_m
27cd0 6b 49 6e 64 65 78 2e 20 20 54 68 69 73 20 72 65  kIndex.  This re
27ce0 73 75 6c 74 73 20 69 6e 20 70 6b 67 49 6e 64 65  sults in pkgInde
27cf0 78 2e 74 63 6c 20 66 69 6c 65 73 20 74 68 61 74  x.tcl files that
27d00 20 63 6f 6e 74 61 69 6e 20 64 69 72 65 63 74 0a   contain direct.
27d10 73 6f 75 72 63 65 20 6f 72 20 6c 6f 61 64 20 63  source or load c
27d20 6f 6d 6d 61 6e 64 73 20 69 6e 73 74 65 61 64 20  ommands instead 
27d30 6f 66 20 74 63 6c 50 6b 67 53 65 74 75 70 20 63  of tclPkgSetup c
27d40 6f 6d 6d 61 6e 64 73 2e 20 28 45 4d 53 29 0a 0a  ommands. (EMS)..
27d50 37 2f 36 2f 39 38 20 28 69 6d 70 72 6f 76 65 6d  7/6/98 (improvem
27d60 65 6e 74 29 20 6d 61 64 65 20 63 68 61 6e 67 65  ent) made change
27d70 73 20 74 6f 20 74 68 65 20 41 75 78 44 61 74 61  s to the AuxData
27d80 20 69 74 65 6d 73 20 73 74 72 75 63 74 75 72 65   items structure
27d90 73 20 74 6f 20 73 75 70 70 6f 72 74 0a 73 74 6f  s to support.sto
27da0 72 61 67 65 20 6f 66 20 63 6f 6d 70 69 6c 65 64  rage of compiled
27db0 20 73 63 72 69 70 74 73 20 6f 6e 20 64 69 73 6b   scripts on disk
27dc0 2e 20 41 6c 73 6f 20 73 6f 6d 65 20 72 65 6c 61  . Also some rela
27dd0 74 65 64 20 6d 69 6e 6f 72 20 63 68 61 6e 67 65  ted minor change
27de0 73 20 69 6e 0a 74 68 65 20 63 6f 6d 70 69 6c 61  s in.the compila
27df0 74 69 6f 6e 20 61 6e 64 20 65 78 65 63 75 74 69  tion and executi
27e00 6f 6e 20 65 6e 67 69 6e 65 2e 20 28 45 4d 53 29  on engine. (EMS)
27e10 0a 0a 36 2f 34 2f 39 38 20 28 65 6e 68 61 6e 63  ..6/4/98 (enhanc
27e20 65 6d 65 6e 74 29 20 41 64 64 65 64 20 6e 65 77  ement) Added new
27e30 20 69 6e 74 65 72 6e 61 6c 20 72 6f 75 74 69 6e   internal routin
27e40 65 73 20 74 6f 20 73 75 70 70 6f 72 74 20 69 6e  es to support in
27e50 73 65 72 74 69 6e 67 0a 61 6e 64 20 64 65 6c 65  serting.and dele
27e60 74 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 73 74  ting from the st
27e70 61 74 2c 20 61 63 63 65 73 73 2c 20 61 6e 64 20  at, access, and 
27e80 6f 70 65 6e 2d 66 69 6c 65 2d 63 68 61 6e 6e 65  open-file-channe
27e90 6c 20 6d 65 63 68 61 6e 69 73 6d 73 2e 0a 54 63  l mechanisms..Tc
27ea0 6c 41 63 63 65 73 73 49 6e 73 65 72 74 50 72 6f  lAccessInsertPro
27eb0 63 2c 20 54 63 6c 53 74 61 74 49 6e 73 65 72 74  c, TclStatInsert
27ec0 50 72 6f 63 2c 20 26 20 54 63 6c 4f 70 65 6e 46  Proc, & TclOpenF
27ed0 69 6c 65 43 68 61 6e 6e 65 6c 49 6e 73 65 72 74  ileChannelInsert
27ee0 50 72 6f 63 0a 69 6e 73 65 72 74 20 70 6f 69 6e  Proc.insert poin
27ef0 74 65 72 73 20 74 6f 20 73 75 63 68 20 72 6f 75  ters to such rou
27f00 74 69 6e 65 73 3b 20 54 63 6c 41 63 63 65 73 73  tines; TclAccess
27f10 44 65 6c 65 74 65 50 72 6f 63 2c 20 54 63 6c 53  DeleteProc, TclS
27f20 74 61 74 44 65 6c 65 74 65 50 72 6f 63 2c 0a 26  tatDeleteProc,.&
27f30 20 54 63 6c 4f 70 65 6e 46 69 6c 65 43 68 61 6e   TclOpenFileChan
27f40 6e 65 6c 44 65 6c 65 74 65 50 72 6f 63 20 64 65  nelDeleteProc de
27f50 6c 65 74 65 20 70 6f 69 6e 74 65 72 73 20 74 6f  lete pointers to
27f60 20 73 75 63 68 20 72 6f 75 74 69 6e 65 73 2e 20   such routines. 
27f70 20 53 65 65 0a 74 68 65 20 66 69 6c 65 20 67 65   See.the file ge
27f80 6e 65 72 69 63 2f 74 63 6c 49 4f 55 74 69 6c 73  neric/tclIOUtils
27f90 2e 63 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61  .c for more deta
27fa0 69 6c 73 2e 20 28 53 4b 53 29 0a 20 0a 37 2f 31  ils. (SKS). .7/1
27fb0 2f 39 38 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74  /98 (enhancement
27fc0 29 20 41 64 64 65 64 20 61 20 6e 65 77 20 69 6e  ) Added a new in
27fd0 74 65 72 6e 61 6c 20 43 20 76 61 72 69 61 62 6c  ternal C variabl
27fe0 65 0a 74 63 6c 50 72 65 49 6e 69 74 53 63 72 69  e.tclPreInitScri
27ff0 70 74 2e 20 20 54 68 69 73 20 69 73 20 61 20 70  pt.  This is a p
28000 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 69  ointer to a stri
28010 6e 67 20 74 68 61 74 20 6d 61 79 20 68 6f 6c 64  ng that may hold
28020 20 61 6e 0a 69 6e 69 74 69 61 6c 69 7a 61 74 69   an.initializati
28030 6f 6e 20 73 63 72 69 70 74 3b 20 49 66 20 74 68  on script; If th
28040 69 73 20 70 6f 69 6e 74 65 72 20 69 73 20 6e 6f  is pointer is no
28050 6e 2d 4e 55 4c 4c 20 69 74 20 69 73 20 65 76 61  n-NULL it is eva
28060 6c 75 61 74 65 64 20 69 6e 0a 54 63 6c 5f 49 6e  luated in.Tcl_In
28070 69 74 28 29 20 70 72 69 6f 72 20 74 6f 20 74 68  it() prior to th
28080 65 20 62 75 69 6c 74 2d 69 6e 20 69 6e 69 74 69  e built-in initi
28090 61 6c 69 7a 61 74 69 6f 6e 20 73 63 72 69 70 74  alization script
280a0 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 0a   defined in the.
280b0 66 69 6c 65 20 67 65 6e 65 72 69 63 2f 74 63 6c  file generic/tcl
280c0 49 6e 69 74 53 63 72 69 70 74 2e 68 2e 20 20 28  InitScript.h.  (
280d0 53 4b 53 29 0a 0a 37 2f 36 2f 39 38 20 28 62 75  SKS)..7/6/98 (bu
280e0 67 20 66 69 78 29 20 52 65 6d 6f 76 65 64 20 64  g fix) Removed d
280f0 65 61 64 20 63 6f 64 65 20 69 6e 20 50 6c 61 74  ead code in Plat
28100 66 6f 72 6d 49 6e 69 74 45 78 69 74 48 61 6e 64  formInitExitHand
28110 6c 65 72 20 73 6f 20 74 68 61 74 0a 74 68 65 20  ler so that.the 
28120 54 43 4c 5f 4c 49 42 52 41 52 59 20 76 61 6c 75  TCL_LIBRARY valu
28130 65 20 63 61 6e 20 62 65 20 73 61 66 65 6c 79 20  e can be safely 
28140 70 61 74 63 68 65 64 20 69 6e 20 62 69 6e 61 72  patched in binar
28150 69 65 73 2e 20 28 42 57 29 0a 0a 37 2f 32 34 2f  ies. (BW)..7/24/
28160 39 38 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29  98 (enhancement)
28170 20 49 6e 63 6f 72 70 6f 72 61 74 65 64 20 61 20   Incorporated a 
28180 6e 65 77 20 76 65 72 73 69 6f 6e 20 6f 66 20 61  new version of a
28190 75 74 6f 5f 6d 6b 69 6e 64 65 78 20 74 68 61 74  uto_mkindex that
281a0 0a 63 61 6e 20 73 75 70 70 6f 72 74 20 74 68 65  .can support the
281b0 20 5b 69 6e 63 72 20 54 63 6c 5d 20 63 6c 61 73   [incr Tcl] clas
281c0 73 20 73 74 72 75 63 74 75 72 65 73 2e 20 20 54  s structures.  T
281d0 68 69 73 20 76 65 72 73 69 6f 6e 20 77 69 6c 6c  his version will
281e0 20 69 6e 64 65 78 0a 61 6c 6c 20 70 72 6f 63 65   index.all proce
281f0 64 75 72 65 73 20 69 6e 20 61 20 73 6f 75 72 63  dures in a sourc
28200 65 20 66 69 6c 65 2c 20 6e 6f 74 20 6a 75 73 74  e file, not just
28210 20 74 68 6f 73 65 20 77 68 65 72 65 20 22 70 72   those where "pr
28220 6f 63 22 20 73 74 61 72 74 73 0a 61 74 20 74 68  oc" starts.at th
28230 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74  e beginning of t
28240 68 65 20 6c 69 6e 65 2e 20 20 49 66 20 79 6f 75  he line.  If you
28250 20 77 61 6e 74 20 74 68 65 20 6f 6c 64 20 62 65   want the old be
28260 68 61 76 69 6f 72 2c 20 75 73 65 20 74 68 65 0a  havior, use the.
28270 61 75 74 6f 5f 6d 6b 69 6e 64 65 78 5f 6f 6c 64  auto_mkindex_old
28280 20 70 72 6f 63 65 64 75 72 65 2e 20 28 4d 4d 29   procedure. (MM)
28290 0a 0a 37 2f 32 34 2f 39 38 20 28 66 65 61 74 75  ..7/24/98 (featu
282a0 72 65 20 63 68 61 6e 67 65 29 20 43 68 61 6e 67  re change) Chang
282b0 65 64 20 74 68 65 20 57 69 6e 64 6f 77 73 20 72  ed the Windows r
282c0 65 67 69 73 74 72 79 20 6b 65 79 20 74 6f 20 62  egistry key to b
282d0 65 0a 48 4b 45 59 5f 4c 4f 43 41 4c 5f 4d 41 43  e.HKEY_LOCAL_MAC
282e0 48 49 4e 45 5c 53 6f 66 74 77 61 72 65 5c 53 63  HINE\Software\Sc
282f0 72 69 70 74 69 63 73 5c 54 63 6c 5c 38 2e 30 2c  riptics\Tcl\8.0,
28300 20 61 6e 64 20 74 6f 20 73 74 6f 72 65 20 74 68   and to store th
28310 65 20 70 61 74 68 0a 69 6e 20 74 68 65 20 64 65  e path.in the de
28320 66 61 75 6c 74 20 76 61 6c 75 65 20 69 6e 73 74  fault value inst
28330 65 61 64 20 6f 66 20 22 52 6f 6f 74 22 2e 20 20  ead of "Root".  
28340 41 6c 73 6f 2c 20 74 68 69 73 20 6b 65 79 20 63  Also, this key c
28350 61 6e 20 62 65 0a 73 70 65 63 69 66 69 65 64 20  an be.specified 
28360 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20  at compile time 
28370 69 6e 20 63 61 73 65 20 54 63 6c 20 69 73 20 62  in case Tcl is b
28380 65 69 6e 67 20 75 73 65 64 20 69 6e 20 61 20 64  eing used in a d
28390 69 66 66 65 72 65 6e 74 0a 63 6f 6e 74 65 78 74  ifferent.context
283a0 20 77 68 65 72 65 20 69 74 20 6e 65 65 64 73 20   where it needs 
283b0 61 6e 20 61 6c 74 65 72 6e 61 74 65 20 6c 69 62  an alternate lib
283c0 72 61 72 79 20 70 61 74 68 20 66 72 6f 6d 20 74  rary path from t
283d0 68 65 20 73 74 61 6e 64 61 72 64 20 54 63 6c 0a  he standard Tcl.
283e0 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 20 28 53  installation. (S
283f0 53 29 0a 0a 37 2f 32 34 2f 39 38 20 28 66 65 61  S)..7/24/98 (fea
28400 74 75 72 65 20 63 68 61 6e 67 65 29 20 43 68 61  ture change) Cha
28410 6e 67 65 64 20 74 68 65 20 73 65 61 72 63 68 20  nged the search 
28420 6f 72 64 65 72 20 66 6f 72 20 69 6e 69 74 2e 74  order for init.t
28430 63 6c 2e 20 20 54 68 65 0a 74 63 6c 5f 6c 69 62  cl.  The.tcl_lib
28440 72 61 72 79 20 76 61 72 69 61 62 6c 65 20 63 61  rary variable ca
28450 6e 20 6e 6f 77 20 62 65 20 73 65 74 20 62 65 66  n now be set bef
28460 6f 72 65 20 63 61 6c 6c 69 6e 67 20 54 63 6c 5f  ore calling Tcl_
28470 49 6e 69 74 20 74 6f 20 61 76 6f 69 64 0a 64 6f  Init to avoid.do
28480 69 6e 67 20 61 6e 79 20 73 65 61 72 63 68 65 73  ing any searches
28490 2e 20 20 49 66 20 69 74 20 69 73 6e 27 74 20 73  .  If it isn't s
284a0 65 74 2c 20 74 68 65 6e 20 54 63 6c 20 63 68 65  et, then Tcl che
284b0 63 6b 73 0a 65 6e 76 28 54 43 4c 5f 4c 49 42 52  cks.env(TCL_LIBR
284c0 41 52 59 29 2c 20 74 68 65 20 73 74 61 74 69 63  ARY), the static
284d0 20 76 61 6c 75 65 20 73 65 74 20 61 74 20 63 6f   value set at co
284e0 6d 70 69 6c 65 20 74 69 6d 65 2c 20 61 6e 20 69  mpile time, an i
284f0 6e 73 74 61 6c 6c 0a 64 69 72 65 63 74 6f 72 79  nstall.directory
28500 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65   relative to the
28510 20 65 78 65 63 75 74 61 62 6c 65 2c 20 61 20 73   executable, a s
28520 6f 75 72 63 65 20 64 69 72 65 63 74 6f 72 79 20  ource directory 
28530 72 65 6c 61 74 69 76 65 20 74 6f 0a 74 68 65 20  relative to.the 
28540 65 78 65 63 75 74 61 62 6c 65 2c 20 61 6e 64 20  executable, and 
28550 61 20 74 63 6c 20 64 69 72 65 63 74 6f 72 79 20  a tcl directory 
28560 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20  relative to the 
28570 73 6f 75 72 63 65 20 68 65 69 72 61 72 63 68 79  source heirarchy
28580 0a 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20  .containing the 
28590 65 78 65 63 75 74 61 62 6c 65 2e 20 20 53 65 65  executable.  See
285a0 20 74 68 65 20 63 6f 6d 6d 65 6e 74 20 61 74 20   the comment at 
285b0 74 68 65 20 74 6f 70 20 6f 66 0a 67 65 6e 65 72  the top of.gener
285c0 69 63 2f 74 63 6c 49 6e 69 74 53 63 72 69 70 74  ic/tclInitScript
285d0 2e 68 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61  .h for more deta
285e0 69 6c 73 2e 20 28 53 53 29 0a 0a 37 2f 32 37 2f  ils. (SS)..7/27/
285f0 39 38 20 28 63 6f 6e 66 69 67 20 63 68 61 6e 67  98 (config chang
28600 65 29 20 43 68 61 6e 67 65 64 20 74 68 65 20 75  e) Changed the u
28610 73 65 20 6f 66 20 74 68 65 20 44 42 47 58 20 66  se of the DBGX f
28620 6c 61 67 20 69 6e 20 63 6f 6e 66 69 67 75 72 65  lag in configure
28630 2e 69 6e 0a 61 6e 64 20 74 68 65 20 6d 61 6b 65  .in.and the make
28640 66 69 6c 65 20 74 6f 20 62 65 20 54 43 4c 5f 44  file to be TCL_D
28650 42 47 58 2e 20 20 55 73 65 72 73 20 6f 66 20 74  BGX.  Users of t
28660 63 6c 43 6f 6e 66 69 67 2e 73 68 20 6d 61 79 20  clConfig.sh may 
28670 6e 65 65 64 20 74 6f 20 70 61 73 73 0a 74 68 69  need to pass.thi
28680 73 20 74 68 72 6f 75 67 68 20 74 68 65 69 72 20  s through their 
28690 63 6f 6e 66 69 67 75 72 65 20 66 69 6c 65 73 20  configure files 
286a0 77 69 74 68 20 41 43 5f 53 55 42 53 54 2e 20 28  with AC_SUBST. (
286b0 42 57 29 0a 0a 37 32 39 2f 39 38 20 28 62 75 67  BW)..729/98 (bug
286c0 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 5b 69   fix) Changed [i
286d0 6e 66 6f 20 62 6f 64 79 5d 20 74 6f 20 72 65 74  nfo body] to ret
286e0 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 74 68  urn a copy of th
286f0 65 20 62 6f 64 79 20 6f 66 20 61 0a 63 6f 6d 70  e body of a.comp
28700 69 6c 65 64 20 70 72 6f 63 65 64 75 72 65 20 69  iled procedure i
28710 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 62 6f  nstead of the bo
28720 64 79 20 69 74 73 65 6c 66 2c 20 74 6f 20 61 76  dy itself, to av
28730 6f 69 64 20 69 6e 76 61 6c 69 64 61 74 69 6f 6e  oid invalidation
28740 0a 6f 66 20 74 68 65 20 69 6e 74 65 72 6e 61 6c  .of the internal
28750 20 72 65 70 20 61 6e 64 20 6c 6f 73 73 20 6f 66   rep and loss of
28760 20 74 68 65 20 62 79 74 65 2d 63 6f 64 65 73 2e   the byte-codes.
28770 20 28 45 4d 53 29 0a 0a 38 2f 35 2f 39 38 20 28   (EMS)..8/5/98 (
28780 62 75 67 20 66 69 78 29 20 54 68 65 20 70 6c 61  bug fix) The pla
28790 74 66 6f 72 6d 20 69 6e 69 74 20 63 6f 64 65 20  tform init code 
287a0 63 6f 75 6c 64 20 77 61 6c 6b 20 6f 66 66 20 74  could walk off t
287b0 68 65 20 65 6e 64 20 6f 66 20 61 0a 62 75 66 66  he end of a.buff
287c0 65 72 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20  er when reading 
287d0 74 68 65 20 50 6b 67 50 61 74 68 20 72 65 67 69  the PkgPath regi
287e0 73 74 72 79 20 76 61 6c 75 65 20 6f 6e 20 57 69  stry value on Wi
287f0 6e 64 6f 77 73 2e 20 28 53 53 29 0a 0a 38 2f 35  ndows. (SS)..8/5
28800 2f 39 38 20 28 57 69 6e 64 6f 77 73 20 6d 61 6b  /98 (Windows mak
28810 65 66 69 6c 65 20 63 68 61 6e 67 65 29 20 49 6e  efile change) In
28820 74 72 6f 64 75 63 65 64 20 61 20 73 65 74 20 6f  troduced a set o
28830 66 20 6d 61 63 72 6f 73 20 74 6f 20 64 65 61 6c  f macros to deal
28840 20 77 69 74 68 0a 65 78 70 6f 72 74 69 6e 67 20   with.exporting 
28850 73 79 6d 62 6f 6c 73 20 77 68 65 6e 20 63 6f 6d  symbols when com
28860 70 69 6c 69 6e 67 20 44 4c 4c 53 20 6f 6e 20 57  piling DLLS on W
28870 69 6e 64 6f 77 73 2e 20 53 65 65 20 77 69 6e 2f  indows. See win/
28880 52 45 41 44 4d 45 20 66 6f 72 0a 64 65 74 61 69  README for.detai
28890 6c 73 2e 20 28 45 4d 53 29 0a 0a 38 2f 35 2f 39  ls. (EMS)..8/5/9
288a0 38 20 28 61 64 64 65 6e 64 75 6d 29 20 41 64 64  8 (addendum) Add
288b0 65 64 20 61 20 73 65 63 6f 6e 64 20 57 69 6e 64  ed a second Wind
288c0 6f 77 73 20 72 65 67 69 73 74 72 79 20 6b 65 79  ows registry key
288d0 20 75 6e 64 65 72 0a 48 4b 45 59 5f 4c 4f 43 41   under.HKEY_LOCA
288e0 4c 5f 4d 41 43 48 49 4e 45 5c 53 6f 66 74 77 61  L_MACHINE\Softwa
288f0 72 65 5c 53 63 72 69 70 74 69 63 73 5c 54 63 6c  re\Scriptics\Tcl
28900 5c 38 2e 30 2c 20 6e 61 6d 65 64 20 22 70 6b 67  \8.0, named "pkg
28910 50 61 74 68 22 2e 0a 54 68 69 73 20 69 73 20 61  Path"..This is a
28920 20 6d 75 6c 74 69 2d 73 74 72 69 6e 67 20 76 61   multi-string va
28930 6c 75 65 20 75 73 65 64 20 74 6f 20 69 6e 69 74  lue used to init
28940 69 61 6c 69 7a 65 20 74 68 65 20 74 63 6c 5f 70  ialize the tcl_p
28950 6b 67 50 61 74 68 0a 76 61 72 69 61 62 6c 65 2e  kgPath.variable.
28960 20 54 68 69 73 20 69 73 20 72 65 71 75 69 72 65   This is require
28970 64 20 69 66 20 65 78 74 65 6e 73 69 6f 6e 20 44  d if extension D
28980 4c 4c 73 20 61 72 65 20 69 6e 20 61 72 63 68 69  LLs are in archi
28990 74 65 63 74 75 72 65 20 73 70 65 63 69 66 69 63  tecture specific
289a0 0a 73 75 62 64 69 72 65 63 74 6f 72 69 65 73 2e  .subdirectories.
289b0 20 28 53 53 29 0a 0a 38 2f 36 2f 39 38 20 28 6e   (SS)..8/6/98 (n
289c0 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65  ew feature) Adde
289d0 64 20 74 63 6c 5f 66 69 6e 64 4c 69 62 72 61 72  d tcl_findLibrar
289e0 79 20 74 6f 20 69 6e 69 74 2e 74 63 6c 20 66 6f  y to init.tcl fo
289f0 72 20 75 73 65 20 62 79 0a 65 78 74 65 6e 73 69  r use by.extensi
28a00 6f 6e 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 54  ons, including T
28a10 6b 2e 20 20 54 68 69 73 20 73 65 61 72 63 68 65  k.  This searche
28a20 73 20 69 6e 20 61 20 63 61 6e 6f 6e 69 63 61 6c  s in a canonical
28a30 20 77 61 79 20 66 6f 72 0a 61 6e 20 65 78 74 65   way for.an exte
28a40 6e 73 69 6f 6e 73 20 6c 69 62 72 61 72 79 20 64  nsions library d
28a50 69 72 65 63 74 6f 72 79 20 61 6e 64 20 69 6e 69  irectory and ini
28a60 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 69 6c 65  tialization file
28a70 2e 20 28 42 57 29 0a 0a 38 2f 31 30 2f 39 38 20  . (BW)..8/10/98 
28a80 28 62 75 67 20 66 69 78 29 20 49 6d 70 6f 72 74  (bug fix) Import
28a90 65 64 20 63 6f 6d 6d 61 6e 64 73 20 75 73 65 64  ed commands used
28aa0 20 74 6f 20 67 65 74 20 6c 6f 73 74 20 69 66 20   to get lost if 
28ab0 74 68 65 20 74 61 72 67 65 74 0a 6f 66 20 74 68  the target.of th
28ac0 65 20 69 6d 70 6f 72 74 20 77 61 73 20 72 65 64  e import was red
28ad0 65 66 69 6e 65 64 2e 20 20 54 63 6c 5f 43 72 65  efined.  Tcl_Cre
28ae0 61 74 65 43 6f 6d 6d 61 6e 64 20 61 6e 64 20 54  ateCommand and T
28af0 63 6c 5f 43 72 65 61 74 65 4f 62 6a 43 6f 6d 6d  cl_CreateObjComm
28b00 61 6e 64 0a 77 65 72 65 20 75 70 64 61 74 65 64  and.were updated
28b10 20 74 6f 20 72 65 73 74 6f 72 65 20 69 6d 70 6f   to restore impo
28b20 72 74 20 6c 69 6e 6b 73 2e 20 28 4e 6f 74 65 20  rt links. (Note 
28b30 74 68 61 74 20 69 66 20 79 6f 75 20 72 65 6e 61  that if you rena
28b40 6d 65 20 61 20 63 6f 6d 6d 61 6e 64 2c 0a 74 68  me a command,.th
28b50 65 20 69 6d 70 6f 72 74 20 6c 69 6e 6b 73 20 6d  e import links m
28b60 6f 76 65 20 74 6f 20 74 68 65 20 6e 65 77 20 6e  ove to the new n
28b70 61 6d 65 2c 20 61 6e 64 20 69 66 20 79 6f 75 20  ame, and if you 
28b80 64 65 6c 65 74 65 20 61 20 63 6f 6d 6d 61 6e 64  delete a command
28b90 20 74 68 65 6e 0a 74 68 65 20 69 6d 70 6f 72 74   then.the import
28ba0 20 6c 69 6e 6b 73 20 67 65 74 20 6c 6f 73 74 2e   links get lost.
28bb0 20 54 68 65 73 65 20 73 65 6d 61 6e 74 69 63 73   These semantics
28bc0 20 68 61 76 65 20 6e 6f 74 20 63 68 61 6e 67 65   have not change
28bd0 64 2e 29 20 28 4d 43 29 0a 0a 2d 2d 2d 2d 2d 2d  d.) (MC)..------
28be0 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 30 2e  -- Released 8.0.
28bf0 33 20 74 6f 20 74 68 65 20 54 63 6c 20 43 6f 6e  3 to the Tcl Con
28c00 73 6f 72 74 69 75 6d 20 43 44 2d 52 4f 4d 20 70  sortium CD-ROM p
28c10 72 6f 6a 65 63 74 2c 20 38 2f 31 30 2f 39 38 20  roject, 8/10/98 
28c20 2d 2d 2d 2d 2d 2d 0a 0a 39 2f 33 2f 39 38 20 28  ------..9/3/98 (
28c30 62 75 67 20 66 69 78 29 20 54 63 6c 5f 52 65 61  bug fix) Tcl_Rea
28c40 6c 6c 6f 63 20 77 61 73 20 66 61 69 6c 69 6e 67  lloc was failing
28c50 20 75 6e 64 65 72 20 57 69 6e 64 6f 77 73 20 62   under Windows b
28c60 65 63 61 75 73 65 20 74 68 65 0a 47 6c 6f 62 61  ecause the.Globa
28c70 6c 52 65 41 6c 6c 6f 63 20 41 50 49 20 77 61 73  lReAlloc API was
28c80 20 6e 6f 74 20 63 6f 72 72 65 63 74 6c 79 20 72   not correctly r
28c90 65 2d 61 6c 6c 6f 63 61 74 69 6e 67 20 62 6c 6f  e-allocating blo
28ca0 63 6b 73 20 74 68 61 74 20 77 65 72 65 0a 33 32  cks that were.32
28cb0 6b 2b 2e 20 20 54 68 65 20 66 69 78 20 77 61 73  k+.  The fix was
28cc0 20 74 6f 20 75 73 65 20 6e 65 77 65 72 20 57 69   to use newer Wi
28cd0 6e 33 32 20 41 50 49 73 20 28 48 65 61 70 41 6c  n32 APIs (HeapAl
28ce0 6c 6f 63 2c 20 48 65 61 70 46 72 65 65 2c 20 61  loc, HeapFree, a
28cf0 6e 64 0a 48 65 61 70 52 65 41 6c 6c 6f 63 2e 29  nd.HeapReAlloc.)
28d00 20 28 42 53 29 0a 0a 31 30 2f 35 2f 39 38 20 28   (BS)..10/5/98 (
28d10 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 62  bug fix) Fixed b
28d20 75 67 20 69 6e 20 70 6b 67 5f 6d 6b 49 6e 64 65  ug in pkg_mkInde
28d30 78 20 74 68 61 74 20 63 61 75 73 65 64 20 73 6f  x that caused so
28d40 6d 65 20 66 69 6c 65 73 20 74 68 61 74 20 64 6f  me files that do
28d50 0a 61 20 22 70 61 63 6b 61 67 65 20 72 65 71 75  .a "package requ
28d60 69 72 65 22 20 6f 66 20 70 61 63 6b 61 67 65 73  ire" of packages
28d70 20 69 6e 20 74 68 65 20 54 63 6c 20 6c 69 62 72   in the Tcl libr
28d80 61 72 69 65 73 20 74 6f 20 67 69 76 65 20 61 20  aries to give a 
28d90 77 61 72 6e 69 6e 67 20 6c 69 6b 65 0a 09 77 61  warning like..wa
28da0 72 6e 69 6e 67 3a 20 22 78 78 2e 74 63 6c 22 20  rning: "xx.tcl" 
28db0 70 72 6f 76 69 64 65 73 20 6d 6f 72 65 20 74 68  provides more th
28dc0 61 6e 20 6f 6e 65 20 70 61 63 6b 61 67 65 20 28  an one package (
28dd0 7b 78 78 20 32 2e 30 7d 20 7b 79 79 20 30 2e 33  {xx 2.0} {yy 0.3
28de0 7d 29 0a 61 6e 64 20 67 65 6e 65 72 61 74 65 20  }).and generate 
28df0 61 20 62 72 6f 6b 65 6e 20 70 6b 67 49 6e 64 65  a broken pkgInde
28e00 78 2e 74 63 6c 20 66 69 6c 65 2e 20 28 45 4d 53  x.tcl file. (EMS
28e10 29 0a 0a 31 30 2f 35 2f 39 38 20 28 62 75 67 20  )..10/5/98 (bug 
28e20 66 69 78 29 20 50 6b 67 5f 6d 6b 49 6e 64 65 78  fix) Pkg_mkIndex
28e30 20 77 61 73 20 6e 6f 74 20 64 6f 69 6e 67 20 61   was not doing a
28e40 20 63 61 73 65 2d 69 6e 73 65 6e 73 69 74 69 76   case-insensitiv
28e50 65 20 63 6f 6d 70 61 72 69 73 6f 6e 0a 6f 66 20  e comparison.of 
28e60 65 78 74 65 6e 73 69 6f 6e 73 20 74 6f 20 64 65  extensions to de
28e70 74 65 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20  termine whether 
28e80 74 6f 20 6c 6f 61 64 20 6f 72 20 73 6f 75 72 63  to load or sourc
28e90 65 20 61 20 66 69 6c 65 2e 20 54 68 75 73 2c 20  e a file. Thus, 
28ea0 75 6e 64 65 72 0a 57 69 6e 64 6f 77 73 2c 20 4d  under.Windows, M
28eb0 59 44 4c 4c 4e 41 4d 45 2e 44 4c 4c 20 77 61 73  YDLLNAME.DLL was
28ec0 20 73 6f 75 72 63 65 64 2c 20 61 6e 64 20 6d 79   sourced, and my
28ed0 64 6c 6c 6e 61 6d 65 2e 64 6c 6c 20 6c 6f 61 64  dllname.dll load
28ee0 65 64 2e 20 28 45 4d 53 29 0a 0a 31 30 2f 35 2f  ed. (EMS)..10/5/
28ef0 39 38 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  98 (new feature)
28f00 20 43 72 65 61 74 65 64 20 61 20 6e 65 77 20 54   Created a new T
28f10 63 6c 5f 4f 62 6a 20 74 79 70 65 2c 20 22 70 72  cl_Obj type, "pr
28f20 6f 63 62 6f 64 79 22 2e 20 54 68 69 73 20 6f 62  ocbody". This ob
28f30 6a 65 63 74 27 73 0a 69 6e 74 65 72 6e 61 6c 20  ject's.internal 
28f40 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 68  representation h
28f50 6f 6c 64 73 20 61 20 70 6f 69 6e 74 65 72 20 74  olds a pointer t
28f60 6f 20 61 20 50 72 6f 63 20 73 74 72 75 63 74 75  o a Proc structu
28f70 72 65 2e 20 45 78 74 65 6e 64 65 64 0a 54 63 6c  re. Extended.Tcl
28f80 43 72 65 61 74 65 50 72 6f 63 20 74 6f 20 74 61  CreateProc to ta
28f90 6b 65 20 62 6f 74 68 20 73 74 72 69 6e 67 73 20  ke both strings 
28fa0 61 6e 64 20 22 70 72 6f 63 62 6f 64 79 22 2e 20  and "procbody". 
28fb0 28 45 4d 53 29 0a 0a 31 30 2f 31 33 2f 39 38 20  (EMS)..10/13/98 
28fc0 28 62 75 67 20 66 69 78 29 20 54 68 65 20 22 69  (bug fix) The "i
28fd0 6e 66 6f 20 63 6f 6d 70 6c 65 74 65 22 20 63 6f  nfo complete" co
28fe0 6d 6d 61 6e 64 20 63 61 6e 20 6e 6f 77 20 68 61  mmand can now ha
28ff0 6e 64 6c 65 20 73 74 72 69 6e 67 73 0a 77 69 74  ndle strings.wit
29000 68 20 4e 55 4c 4c 73 20 65 6d 62 65 64 64 65 64  h NULLs embedded
29010 2e 20 20 54 68 61 6e 6b 73 20 74 6f 20 63 6f 6c  .  Thanks to col
29020 69 6e 40 66 69 65 6c 64 2e 6d 65 64 69 63 69 6e  [email protected]
29030 65 2e 61 64 65 6c 61 69 64 65 2e 65 64 75 2e 61  e.adelaide.edu.a
29040 75 20 0a 66 6f 72 20 70 72 6f 76 69 64 69 6e 67  u .for providing
29050 20 74 68 69 73 20 66 69 78 2e 20 28 52 4a 29 0a   this fix. (RJ).
29060 0a 31 30 2f 31 33 2f 39 38 20 28 62 75 67 20 66  .10/13/98 (bug f
29070 69 78 29 20 54 68 65 20 22 6c 73 6f 72 74 20 2d  ix) The "lsort -
29080 64 69 63 74 69 6f 6e 61 72 79 22 20 63 6f 6d 6d  dictionary" comm
29090 61 6e 64 20 64 69 64 20 6e 6f 74 20 70 72 6f 70  and did not prop
290a0 65 72 6c 79 0a 68 61 6e 64 6c 65 20 73 6f 6d 65  erly.handle some
290b0 20 6e 75 6d 62 65 72 73 20 73 74 61 72 74 69 6e   numbers startin
290c0 67 20 77 69 74 68 20 30 2e 20 20 54 68 61 6e 6b  g with 0.  Thank
290d0 73 20 74 6f 20 52 69 63 68 61 72 64 20 48 69 70  s to Richard Hip
290e0 70 0a 3c 64 72 68 40 61 63 6d 2e 6f 72 67 3e 20  p.<[email protected]> 
290f0 66 6f 72 20 73 75 62 6d 69 74 74 69 6e 67 20 74  for submitting t
29100 68 65 20 66 69 78 20 74 6f 20 53 63 72 69 70 74  he fix to Script
29110 69 63 73 2e 20 28 52 4a 29 0a 0a 31 30 2f 31 33  ics. (RJ)..10/13
29120 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 54 68  /98 (bug fix) Th
29130 65 20 66 75 6e 63 74 69 6f 6e 20 54 63 6c 5f 53  e function Tcl_S
29140 65 74 4c 69 73 74 4f 62 6a 20 77 61 73 20 63 72  etListObj was cr
29150 65 61 74 69 6e 67 20 61 6e 20 69 6e 76 61 6c 69  eating an invali
29160 64 0a 54 63 6c 5f 4f 62 6a 20 69 66 20 74 68 65  d.Tcl_Obj if the
29170 20 6c 69 73 74 20 68 61 64 20 7a 65 72 6f 20 65   list had zero e
29180 6c 65 6d 65 6e 74 73 20 28 64 65 73 70 69 74 65  lements (despite
29190 20 77 68 61 74 20 74 68 65 20 63 6f 6d 6d 65 6e   what the commen
291a0 74 73 20 73 61 69 64 0a 69 74 20 77 6f 75 6c 64  ts said.it would
291b0 20 64 6f 29 2e 20 20 54 68 61 6e 6b 73 20 74 6f   do).  Thanks to
291c0 20 53 65 62 61 73 74 69 61 6e 20 57 61 6e 67 6e   Sebastian Wangn
291d0 69 63 6b 20 66 6f 72 20 72 65 70 6f 72 74 69 6e  ick for reportin
291e0 67 20 74 68 65 0a 70 72 6f 62 6c 65 6d 2e 20 28  g the.problem. (
291f0 52 4a 29 0a 0a 31 30 2f 32 30 2f 39 38 20 28 6e  RJ)..10/20/98 (n
29200 65 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65  ew feature) Adde
29210 64 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 64  d tcl_platform(d
29220 65 62 75 67 29 20 65 6c 65 6d 65 6e 74 20 74 6f  ebug) element to
29230 20 74 68 65 0a 74 63 6c 5f 70 6c 61 74 66 6f 72   the.tcl_platfor
29240 6d 20 61 72 72 61 79 20 6f 6e 20 57 69 6e 64 6f  m array on Windo
29250 77 73 20 70 6c 61 74 66 6f 72 6d 2e 20 20 54 68  ws platform.  Th
29260 65 20 65 78 69 73 74 65 6e 63 65 20 6f 66 20 74  e existence of t
29270 68 65 20 64 65 62 75 67 0a 65 6c 65 6d 65 6e 74  he debug.element
29280 20 6f 66 20 74 68 65 20 74 63 6c 5f 70 6c 61 74   of the tcl_plat
29290 66 6f 72 6d 20 61 72 72 61 79 20 69 6e 64 69 63  form array indic
292a0 61 74 65 73 20 74 68 61 74 20 74 68 65 20 70 61  ates that the pa
292b0 72 74 69 63 75 6c 61 72 20 54 63 6c 0a 73 68 65  rticular Tcl.she
292c0 6c 6c 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70  ll has been comp
292d0 69 6c 65 64 20 77 69 74 68 20 64 65 62 75 67 20  iled with debug 
292e0 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 20 20 55 73  information.  Us
292f0 69 6e 67 0a 22 69 6e 66 6f 20 65 78 69 73 74 73  ing."info exists
29300 20 74 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 64 65   tcl_platform(de
29310 62 75 67 29 22 20 61 20 54 63 6c 20 73 63 72 69  bug)" a Tcl scri
29320 70 74 20 63 61 6e 20 64 69 72 65 63 74 20 74 68  pt can direct th
29330 65 0a 69 6e 74 65 72 70 72 65 74 65 72 20 74 6f  e.interpreter to
29340 20 6c 6f 61 64 20 64 65 62 75 67 20 76 65 72 73   load debug vers
29350 69 6f 6e 73 20 6f 66 20 44 4c 4c 73 20 77 69 74  ions of DLLs wit
29360 68 20 74 68 65 20 6c 6f 61 64 0a 63 6f 6d 6d 61  h the load.comma
29370 6e 64 2e 20 28 53 4b 53 29 0a 0a 31 30 2f 32 30  nd. (SKS)..10/20
29380 2f 39 38 20 28 66 65 61 74 75 72 65 20 63 68 61  /98 (feature cha
29390 6e 67 65 29 20 54 68 65 20 4d 61 6b 65 66 69 6c  nge) The Makefil
293a0 65 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 65 20  e and configure 
293b0 73 63 72 69 70 74 73 20 68 61 76 65 20 62 65 65  scripts have bee
293c0 6e 0a 63 68 61 6e 67 65 64 20 66 6f 72 20 49 52  n.changed for IR
293d0 49 58 20 74 6f 20 62 75 69 6c 64 20 6e 33 32 20  IX to build n32 
293e0 62 69 6e 61 72 69 65 73 20 69 6e 73 74 65 61 64  binaries instead
293f0 20 6f 66 20 74 68 65 20 6f 6c 64 20 33 32 20 61   of the old 32 a
29400 62 69 0a 66 6f 72 6d 61 74 2e 20 20 49 66 20 79  bi.format.  If y
29410 6f 75 20 68 61 76 65 20 65 78 74 65 6e 73 69 6f  ou have extensio
29420 6e 73 20 62 75 69 6c 74 20 77 69 74 68 20 74 68  ns built with th
29430 65 20 6f 33 32 20 61 62 69 27 73 20 79 6f 75 20  e o32 abi's you 
29440 77 69 6c 6c 20 6e 65 65 64 0a 74 6f 20 75 70 64  will need.to upd
29450 61 74 65 20 74 68 65 6d 20 74 6f 20 6e 33 32 20  ate them to n32 
29460 66 6f 72 20 74 68 65 6d 20 74 6f 20 77 6f 72 6b  for them to work
29470 20 77 69 74 68 20 54 63 6c 2e 20 20 28 52 4a 29   with Tcl.  (RJ)
29480 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49  .*** POTENTIAL I
29490 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a  NCOMPATIBILITY *
294a0 2a 2a 0a 0a 31 30 2f 32 33 2f 39 38 20 28 62 75  **..10/23/98 (bu
294b0 67 20 66 69 78 29 20 74 63 6c 5f 66 69 6e 64 4c  g fix) tcl_findL
294c0 69 62 72 61 72 79 20 68 61 64 20 61 20 73 74 72  ibrary had a str
294d0 61 79 20 5d 20 69 6e 20 6f 6e 65 20 6f 66 20 74  ay ] in one of t
294e0 68 65 0a 70 61 74 68 6e 61 6d 65 73 20 69 74 20  he.pathnames it 
294f0 73 65 61 72 63 68 65 64 20 66 6f 72 20 74 68 65  searched for the
29500 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20   initialization 
29510 73 63 72 69 70 74 2e 20 20 74 63 6c 49 6e 69 74  script.  tclInit
29520 53 63 72 69 70 74 2e 68 0a 77 61 73 20 69 6e 63  Script.h.was inc
29530 6f 72 72 65 63 74 6c 79 20 61 64 64 69 6e 67 20  orrectly adding 
29540 74 68 65 20 70 61 72 65 6e 74 20 6f 66 20 74 63  the parent of tc
29550 6c 5f 6c 69 62 72 61 72 79 20 74 6f 20 74 63 6c  l_library to tcl
29560 5f 70 6b 67 50 61 74 68 2e 20 20 54 68 69 73 0a  _pkgPath.  This.
29570 6c 6f 67 69 63 20 77 61 73 20 6d 6f 76 65 64 20  logic was moved 
29580 69 6e 74 6f 20 69 6e 69 74 2e 74 63 6c 2c 20 61  into init.tcl, a
29590 6e 64 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a  nd the initializ
295a0 61 74 69 6f 6e 20 6f 66 20 61 75 74 6f 5f 70 61  ation of auto_pa
295b0 74 68 20 77 61 73 0a 64 6f 63 75 6d 65 6e 74 65  th was.documente
295c0 64 2e 20 20 54 68 61 6e 6b 73 20 74 6f 20 44 6f  d.  Thanks to Do
295d0 6e 61 6c 64 20 50 6f 72 74 65 72 20 61 6e 64 20  nald Porter and 
295e0 54 6f 6d 20 53 69 6c 76 61 20 66 6f 72 20 72 65  Tom Silva for re
295f0 6c 61 74 65 64 0a 70 61 74 63 68 65 73 2e 20 28  lated.patches. (
29600 42 57 29 0a 0a 31 30 2f 32 39 2f 39 38 20 28 62  BW)..10/29/98 (b
29610 75 67 20 66 69 78 29 20 46 69 78 65 64 20 54 63  ug fix) Fixed Tc
29620 6c 5f 4e 6f 74 69 66 79 43 68 61 6e 6e 65 6c 20  l_NotifyChannel 
29630 74 6f 20 75 73 65 20 54 63 6c 5f 50 72 65 73 65  to use Tcl_Prese
29640 72 76 65 20 69 6e 73 74 65 61 64 0a 6f 66 20 54  rve instead.of T
29650 63 6c 5f 52 65 67 69 73 74 65 72 43 68 61 6e 6e  cl_RegisterChann
29660 65 6c 20 73 6f 20 74 68 61 74 20 31 29 20 75 6e  el so that 1) un
29670 72 65 67 69 73 74 65 72 65 64 20 63 68 61 6e 6e  registered chann
29680 65 6c 73 20 64 6f 20 6e 6f 74 20 67 65 74 0a 63  els do not get.c
29690 6c 6f 73 65 64 20 61 66 74 65 72 20 74 68 65 69  losed after thei
296a0 72 20 66 69 72 73 74 20 66 69 6c 65 65 76 65 6e  r first fileeven
296b0 74 2c 20 61 6e 64 20 32 29 20 65 72 72 6f 72 73  t, and 2) errors
296c0 20 74 68 61 74 20 6f 63 63 75 72 20 64 75 72 69   that occur duri
296d0 6e 67 0a 63 6c 6f 73 65 20 69 6e 20 61 20 66 69  ng.close in a fi
296e0 6c 65 65 76 65 6e 74 20 73 63 72 69 70 74 20 61  leevent script a
296f0 72 65 20 61 63 74 75 61 6c 6c 79 20 72 65 66 6c  re actually refl
29700 65 63 74 65 64 20 62 79 20 74 68 65 20 63 6c 6f  ected by the clo
29710 73 65 0a 63 6f 6d 6d 61 6e 64 2e 20 28 42 57 29  se.command. (BW)
29720 0a 0a 31 30 2f 33 30 2f 39 38 20 28 62 75 67 20  ..10/30/98 (bug 
29730 66 69 78 29 20 4f 76 65 72 68 61 75 6c 20 6f 66  fix) Overhaul of
29740 20 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 74 6f 20   pkg_mkIndex to 
29750 64 65 61 6c 20 77 69 74 68 20 74 72 61 6e 73 69  deal with transi
29760 74 69 76 65 0a 70 61 63 6b 61 67 65 20 72 65 71  tive.package req
29770 75 69 72 65 73 20 61 6e 64 20 70 61 63 6b 61 67  uires and packag
29780 65 73 20 73 70 6c 69 74 20 61 6d 6f 6e 67 20 73  es split among s
29790 63 72 69 70 74 73 20 61 6e 64 20 62 69 6e 61 72  cripts and binar
297a0 79 20 66 69 6c 65 73 2e 0a 41 6c 73 6f 20 66 69  y files..Also fi
297b0 78 65 64 20 6f 6d 6d 69 73 69 6f 6e 20 6f 66 20  xed ommision of 
297c0 67 6c 6f 62 61 6c 20 66 6f 72 20 65 72 72 6f 72  global for error
297d0 49 6e 66 6f 20 69 6e 20 74 63 6c 5f 66 69 6e 64  Info in tcl_find
297e0 4c 69 62 72 61 72 79 2e 20 28 42 57 29 0a 0a 31  Library. (BW)..1
297f0 31 2f 30 38 2f 39 38 20 28 62 75 67 20 66 69 78  1/08/98 (bug fix
29800 29 20 46 69 78 65 64 20 74 68 65 20 72 65 73 6f  ) Fixed the reso
29810 75 72 63 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20  urce command to 
29820 61 6c 77 61 79 73 20 64 65 74 65 63 74 0a 74 68  always detect.th
29830 65 20 63 61 73 65 20 77 68 65 72 65 20 61 20 66  e case where a f
29840 69 6c 65 20 69 73 20 6f 70 65 6e 65 64 20 61 20  ile is opened a 
29850 73 65 63 6f 6e 64 20 74 69 6d 65 20 77 69 74 68  second time with
29860 20 74 68 65 20 73 61 6d 65 0a 70 65 72 6d 69 73   the same.permis
29870 73 69 6f 6e 73 2e 20 20 49 4d 20 63 6c 61 69 6d  sions.  IM claim
29880 73 20 74 68 61 74 20 74 68 69 73 20 77 69 6c 6c  s that this will
29890 20 61 6c 77 61 79 73 20 63 61 75 73 65 20 74 68   always cause th
298a0 65 20 73 61 6d 65 0a 46 69 6c 65 52 65 66 20 74  e same.FileRef t
298b0 6f 20 62 65 20 72 65 74 75 72 6e 65 64 2c 20 62  o be returned, b
298c0 75 74 20 69 6e 20 4d 61 63 4f 53 20 38 2e 31 2b  ut in MacOS 8.1+
298d0 2c 20 74 68 69 73 20 69 73 20 6e 6f 20 6c 6f 6e  , this is no lon
298e0 67 65 72 20 74 68 65 20 63 61 73 65 2c 0a 73 6f  ger the case,.so
298f0 20 77 65 20 68 61 76 65 20 74 6f 20 74 65 73 74   we have to test
29900 20 66 6f 72 20 74 68 69 73 20 65 78 70 6c 69 63   for this explic
29910 69 74 6c 79 2e 20 28 4a 49 29 0a 0a 31 31 2f 31  itly. (JI)..11/1
29920 30 2f 39 38 20 28 66 65 61 74 75 72 65 20 63 68  0/98 (feature ch
29930 61 6e 67 65 29 20 57 68 65 6e 20 63 6f 6d 70 69  ange) When compi
29940 6c 69 6e 67 20 77 69 74 68 20 4d 65 74 72 6f 77  ling with Metrow
29950 65 72 6b 27 73 20 4d 53 4c 2c 20 75 73 65 20 74  erk's MSL, use t
29960 68 65 0a 65 78 69 74 20 66 75 6e 63 74 69 6f 6e  he.exit function
29970 20 66 72 6f 6d 20 4d 53 4c 20 72 61 74 68 65 72   from MSL rather
29980 20 74 68 61 6e 20 45 78 69 74 54 6f 53 68 65 6c   than ExitToShel
29990 6c 2e 20 20 54 68 69 73 20 61 6c 6c 6f 77 73 20  l.  This allows 
299a0 4d 53 4c 20 74 6f 0a 63 6c 65 61 6e 20 75 70 20  MSL to.clean up 
299b0 69 74 73 20 74 65 6d 70 6f 72 61 72 79 20 66 69  its temporary fi
299c0 6c 65 73 2e 20 54 68 61 6e 6b 73 20 74 6f 20 56  les. Thanks to V
299d0 69 6e 63 65 20 44 61 72 6c 65 79 20 66 6f 72 20  ince Darley for 
299e0 74 68 69 73 0a 69 6d 70 72 6f 76 65 6d 65 6e 74  this.improvement
299f0 2e 20 28 4a 49 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  . (JI)..--------
29a00 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
29a10 65 64 20 38 2e 30 2e 34 2c 20 31 31 2f 31 39 2f  ed 8.0.4, 11/19/
29a20 39 38 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  98 -------------
29a30 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 31  ------------..11
29a40 2f 32 30 2f 39 38 20 28 62 75 67 20 66 69 78 29  /20/98 (bug fix)
29a50 20 48 61 6e 64 6c 65 20 70 6f 73 73 69 62 6c 65   Handle possible
29a60 20 4e 55 4c 4c 20 72 65 74 75 72 6e 20 69 6e 20   NULL return in 
29a70 54 63 6c 47 65 74 53 74 64 46 69 6c 65 73 2e 20  TclGetStdFiles. 
29a80 28 52 4a 29 0a 0a 31 31 2f 32 30 2f 39 38 20 28  (RJ)..11/20/98 (
29a90 62 75 67 20 66 69 78 29 20 54 68 65 20 64 6c 74  bug fix) The dlt
29aa0 65 73 74 73 20 77 6f 75 6c 64 20 6e 6f 74 20 62  ests would not b
29ab0 75 69 6c 64 20 6f 6e 20 53 47 49 2e 20 20 54 68  uild on SGI.  Th
29ac0 65 79 20 72 65 70 6f 72 74 65 64 0a 74 68 61 74  ey reported.that
29ad0 20 79 6f 75 20 63 6f 75 6c 64 20 6e 6f 74 20 6d   you could not m
29ae0 69 78 20 6e 33 32 20 77 69 74 68 20 30 33 32 20  ix n32 with 032 
29af0 62 69 6e 61 72 69 65 73 2e 20 20 54 68 65 20 63  binaries.  The c
29b00 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70 74 0a  onfigure script.
29b10 68 61 73 20 62 65 65 6e 20 6d 6f 64 69 66 69 65  has been modifie
29b20 64 20 74 6f 20 67 65 74 20 74 68 65 20 45 58 54  d to get the EXT
29b30 52 41 5f 43 46 4c 41 47 53 20 66 72 6f 6d 20 74  RA_CFLAGS from t
29b40 68 65 20 74 63 6c 20 63 6f 6e 66 69 67 75 72 65  he tcl configure
29b50 0a 73 63 72 69 70 74 2e 20 20 5b 42 75 67 20 69  .script.  [Bug i
29b60 64 3a 20 38 34 30 5d 20 28 52 4a 29 0a 0a 31 32  d: 840] (RJ)..12
29b70 2f 33 2f 39 38 20 28 62 75 67 20 66 69 78 29 20  /3/98 (bug fix) 
29b80 57 69 6e 64 6f 77 73 20 4e 54 20 63 72 65 61 74  Windows NT creat
29b90 65 73 20 73 6f 63 6b 65 74 73 20 73 6f 20 74 68  es sockets so th
29ba0 65 79 20 61 72 65 20 69 6e 68 65 72 69 74 61 62  ey are inheritab
29bb0 6c 65 0a 62 79 20 64 65 66 61 75 6c 74 2e 20 20  le.by default.  
29bc0 46 69 78 65 64 20 73 6f 63 6b 65 74 20 63 6f 64  Fixed socket cod
29bd0 65 20 73 6f 20 69 74 20 74 75 72 6e 73 20 6f 66  e so it turns of
29be0 66 20 74 68 69 73 20 62 69 74 20 72 69 67 68 74  f this bit right
29bf0 20 61 66 74 65 72 0a 63 72 65 61 74 69 6f 6e 20   after.creation 
29c00 73 6f 20 73 6f 63 6b 65 74 73 20 61 72 65 6e 27  so sockets aren'
29c10 74 20 6b 65 70 74 20 6f 70 65 6e 20 62 79 20 65  t kept open by e
29c20 78 65 63 27 65 64 20 70 72 6f 63 65 73 73 65 73  xec'ed processes
29c30 2e 20 5b 42 75 67 3a 20 38 39 32 5d 0a 54 68 61  . [Bug: 892].Tha
29c40 6e 6b 73 20 74 6f 20 4b 65 76 69 6e 20 4b 65 6e  nks to Kevin Ken
29c50 6e 79 20 66 6f 72 20 74 68 69 73 20 66 69 78 2e  ny for this fix.
29c60 20 20 28 53 53 29 0a 0a 31 2f 31 31 2f 39 38 20    (SS)..1/11/98 
29c70 28 62 75 67 20 66 69 78 29 20 20 4f 6e 20 48 50  (bug fix)  On HP
29c80 2c 20 22 69 6e 66 6f 20 73 68 61 72 65 64 6c 69  , "info sharedli
29c90 62 65 78 74 65 6e 73 69 6f 6e 22 20 77 61 73 20  bextension" was 
29ca0 72 65 74 75 72 6e 69 6e 67 20 0a 65 6d 70 74 79  returning .empty
29cb0 20 73 74 72 69 6e 67 20 6f 6e 20 73 74 61 74 69   string on stati
29cc0 63 20 61 70 70 73 2e 20 20 49 74 20 6e 6f 77 20  c apps.  It now 
29cd0 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 22  always returns "
29ce0 2e 73 6c 22 2e 20 20 28 52 4a 29 0a 0a 31 2f 32  .sl".  (RJ)..1/2
29cf0 38 2f 39 39 20 28 63 6f 6e 66 69 67 75 72 65 20  8/99 (configure 
29d00 63 68 61 6e 67 65 29 20 4e 6f 77 20 73 75 70 70  change) Now supp
29d10 6f 72 74 20 2d 70 69 70 65 20 6f 70 74 69 6f 6e  ort -pipe option
29d20 20 6f 6e 20 67 63 63 2e 20 20 28 52 4a 29 0a 0a   on gcc.  (RJ)..
29d30 32 2f 32 2f 39 39 20 28 62 75 67 20 66 69 78 29  2/2/99 (bug fix)
29d40 20 46 69 78 65 64 20 69 6e 69 74 69 61 6c 69 7a   Fixed initializ
29d50 61 74 69 6f 6e 20 70 72 6f 62 6c 65 6d 20 6f 6e  ation problem on
29d60 20 57 69 6e 64 6f 77 73 20 77 68 65 72 65 20 6e   Windows where n
29d70 6f 0a 73 65 61 72 63 68 69 6e 67 20 66 6f 72 20  o.searching for 
29d80 69 6e 69 74 2e 74 63 6c 20 77 6f 75 6c 64 20 62  init.tcl would b
29d90 65 20 70 65 72 66 6f 72 6d 65 64 20 69 66 20 74  e performed if t
29da0 68 65 20 72 65 67 69 73 74 72 79 20 6b 65 79 73  he registry keys
29db0 20 77 65 72 65 0a 6d 69 73 73 69 6e 67 2e 20 20   were.missing.  
29dc0 28 73 74 61 6e 74 6f 6e 29 0a 0a 32 2f 32 2f 39  (stanton)..2/2/9
29dd0 39 20 28 62 75 67 20 66 69 78 29 20 41 64 64 65  9 (bug fix) Adde
29de0 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 48 4b  d support for HK
29df0 45 59 5f 50 45 52 46 4f 52 4d 41 4e 43 45 5f 44  EY_PERFORMANCE_D
29e00 41 54 41 20 61 6e 64 0a 48 4b 45 59 5f 44 59 4e  ATA and.HKEY_DYN
29e10 5f 44 41 54 41 20 6b 65 79 73 20 69 6e 20 74 68  _DATA keys in th
29e20 65 20 22 72 65 67 69 73 74 72 79 22 20 63 6f 6d  e "registry" com
29e30 6d 61 6e 64 2e 20 28 73 74 61 6e 74 6f 6e 29 0a  mand. (stanton).
29e40 0a 32 2f 32 2f 39 39 20 28 62 75 67 20 66 69 78  .2/2/99 (bug fix
29e50 29 20 45 4e 4f 54 53 55 50 20 61 6e 64 20 45 4f  ) ENOTSUP and EO
29e60 50 4e 4f 54 53 55 50 50 20 63 6c 61 73 68 65 64  PNOTSUPP clashed
29e70 20 6f 6e 20 73 6f 6d 65 20 4c 69 6e 75 78 0a 76   on some Linux.v
29e80 61 72 69 61 6e 74 73 2e 20 28 73 74 61 6e 74 6f  ariants. (stanto
29e90 6e 29 0a 0a 32 2f 32 2f 39 39 20 28 65 6e 68 61  n)..2/2/99 (enha
29ea0 6e 63 65 6d 65 6e 74 29 20 54 68 65 20 22 6f 70  ncement) The "op
29eb0 65 6e 22 20 63 6f 6d 6d 61 6e 64 20 68 61 73 20  en" command has 
29ec0 62 65 65 6e 20 63 68 61 6e 67 65 64 20 74 6f 20  been changed to 
29ed0 75 73 65 20 74 68 65 0a 6f 62 6a 65 63 74 20 69  use the.object i
29ee0 6e 74 65 72 66 61 63 65 73 2e 20 28 73 74 61 6e  nterfaces. (stan
29ef0 74 6f 6e 29 0a 0a 32 2f 32 2f 39 39 20 28 62 75  ton)..2/2/99 (bu
29f00 67 20 66 69 78 29 20 49 6e 20 73 6f 6d 65 20 63  g fix) In some c
29f10 61 73 65 73 20 54 63 6c 20 77 6f 75 6c 64 20 63  ases Tcl would c
29f20 72 61 73 68 20 64 75 65 20 74 6f 20 61 6e 20 6f  rash due to an o
29f30 76 65 72 66 6c 6f 77 20 6f 66 0a 74 68 65 20 65  verflow of.the e
29f40 78 63 65 70 74 69 6f 6e 20 73 74 61 63 6b 20 72  xception stack r
29f50 65 73 75 6c 74 69 6e 67 20 66 72 6f 6d 20 61 20  esulting from a 
29f60 6d 69 73 73 69 6e 67 20 62 79 74 65 20 63 6f 64  missing byte cod
29f70 65 20 69 6e 20 73 6f 6d 65 0a 65 78 70 72 65 73  e in some.expres
29f80 73 69 6f 6e 73 2e 20 28 73 74 61 6e 74 6f 6e 29  sions. (stanton)
29f90 0a 0a 32 2f 32 2f 39 39 20 28 62 75 67 20 66 69  ..2/2/99 (bug fi
29fa0 78 29 20 43 68 61 6e 67 65 64 20 63 6f 6e 66 69  x) Changed confi
29fb0 67 75 72 65 20 73 6f 20 4c 69 6e 75 78 20 61 6e  gure so Linux an
29fc0 64 20 49 52 49 58 20 73 68 61 72 65 64 20 6c 69  d IRIX shared li
29fd0 62 72 61 72 69 65 73 0a 61 72 65 20 6c 69 6e 6b  braries.are link
29fe0 65 64 20 77 69 74 68 20 74 68 65 20 73 79 73 74  ed with the syst
29ff0 65 6d 20 6c 69 62 72 61 72 69 65 73 2e 20 28 73  em libraries. (s
2a000 74 61 6e 74 6f 6e 29 0a 0a 32 2f 32 2f 39 39 20  tanton)..2/2/99 
2a010 28 62 75 67 20 66 69 78 29 20 41 64 64 65 64 20  (bug fix) Added 
2a020 73 75 70 70 6f 72 74 20 66 6f 72 20 42 53 44 49  support for BSDI
2a030 20 34 2e 78 20 28 42 53 44 2f 4f 53 2d 34 2a 29   4.x (BSD/OS-4*)
2a040 20 74 6f 20 74 68 65 0a 63 6f 6e 66 69 67 75 72   to the.configur
2a050 65 20 73 63 72 69 70 74 2e 20 28 73 74 61 6e 74  e script. (stant
2a060 6f 6e 29 0a 0a 32 2f 32 2f 39 39 20 28 62 75 67  on)..2/2/99 (bug
2a070 20 66 69 78 29 20 46 69 78 65 64 20 62 75 67 20   fix) Fixed bug 
2a080 77 68 65 72 65 20 75 70 76 61 72 20 63 6f 75 6c  where upvar coul
2a090 64 20 72 65 73 75 72 72 65 63 74 20 61 20 6e 61  d resurrect a na
2a0a0 6d 65 73 70 61 63 65 0a 76 61 72 69 61 62 6c 65  mespace.variable
2a0b0 20 61 66 74 65 72 20 74 68 65 20 6e 61 6d 65 73   after the names
2a0c0 70 61 63 65 20 68 61 64 20 62 65 65 6e 20 64 65  pace had been de
2a0d0 6c 65 74 65 64 2e 20 28 73 74 61 6e 74 6f 6e 29  leted. (stanton)
2a0e0 0a 0a 32 2f 32 2f 39 39 20 28 62 75 67 20 66 69  ..2/2/99 (bug fi
2a0f0 78 29 20 49 6e 20 73 6f 6d 65 20 63 61 73 65 73  x) In some cases
2a100 20 77 68 65 6e 20 63 72 65 61 74 69 6e 67 20 76   when creating v
2a110 61 72 69 61 62 6c 65 73 2c 20 74 68 65 0a 69 6e  ariables, the.in
2a120 74 65 72 70 72 65 74 65 72 20 72 65 73 75 6c 74  terpreter result
2a130 20 77 61 73 20 62 65 69 6e 67 20 6d 6f 64 69 66   was being modif
2a140 69 65 64 20 65 76 65 6e 20 69 66 20 74 68 65 20  ied even if the 
2a150 54 43 4c 5f 4c 45 41 56 45 5f 45 52 52 5f 4d 53  TCL_LEAVE_ERR_MS
2a160 47 0a 66 6c 61 67 20 77 61 73 20 73 65 74 2e 20  G.flag was set. 
2a170 28 73 74 61 6e 74 6f 6e 29 0a 0a 32 2f 32 2f 39  (stanton)..2/2/9
2a180 39 20 28 62 75 67 20 66 69 78 20 26 20 6e 65 77  9 (bug fix & new
2a190 20 66 65 61 74 75 72 65 29 20 43 68 61 6e 67 65   feature) Change
2a1a0 64 20 74 68 65 20 73 6f 63 6b 65 74 20 64 72 69  d the socket dri
2a1b0 76 65 72 73 20 74 6f 20 70 72 6f 70 65 72 6c 79  vers to properly
2a1c0 0a 68 61 6e 64 6c 65 20 66 61 69 6c 75 72 65 73  .handle failures
2a1d0 20 64 75 72 69 6e 67 20 61 6e 20 61 73 79 6e 63   during an async
2a1e0 20 73 6f 63 6b 65 74 20 63 6f 6e 6e 65 63 74 69   socket connecti
2a1f0 6f 6e 2e 20 20 41 64 64 65 64 20 61 20 6e 65 77  on.  Added a new
2a200 0a 66 63 6f 6e 66 69 67 75 72 65 20 6f 70 74 69  .fconfigure opti
2a210 6f 6e 20 22 2d 65 72 72 6f 72 22 20 74 6f 20 72  on "-error" to r
2a220 65 74 72 69 65 76 65 20 74 68 65 20 66 61 69 6c  etrieve the fail
2a230 75 72 65 20 6d 65 73 73 61 67 65 2e 20 20 53 65  ure message.  Se
2a240 65 20 74 68 65 0a 73 6f 63 6b 65 74 2e 6e 20 6d  e the.socket.n m
2a250 61 6e 75 61 6c 20 65 6e 74 72 79 20 66 6f 72 20  anual entry for 
2a260 64 65 74 61 69 6c 73 2e 20 28 73 74 61 6e 74 6f  details. (stanto
2a270 6e 29 0a 0a 32 2f 32 2f 39 39 20 28 62 75 67 20  n)..2/2/99 (bug 
2a280 66 69 78 29 20 44 65 6c 65 74 69 6e 67 20 61 20  fix) Deleting a 
2a290 72 65 6e 61 6d 65 64 20 69 6e 74 65 72 70 20 61  renamed interp a
2a2a0 6c 69 61 73 20 63 6f 75 6c 64 20 72 65 73 75 6c  lias could resul
2a2b0 74 20 69 6e 20 61 0a 70 61 6e 69 63 2e 20 28 73  t in a.panic. (s
2a2c0 74 61 6e 74 6f 6e 29 0a 0a 32 2f 32 2f 39 39 20  tanton)..2/2/99 
2a2d0 28 66 65 61 74 75 72 65 20 63 68 61 6e 67 65 2f  (feature change/
2a2e0 62 75 67 20 66 69 78 29 20 43 68 61 6e 67 65 64  bug fix) Changed
2a2f0 20 74 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66   the behavior of
2a300 20 22 66 69 6c 65 0a 65 78 74 65 6e 73 69 6f 6e   "file.extension
2a310 22 20 73 6f 20 74 68 61 74 20 69 74 20 73 70 6c  " so that it spl
2a320 69 74 73 20 61 74 20 74 68 65 20 6c 61 73 74 20  its at the last 
2a330 70 65 72 69 6f 64 2e 20 20 4e 6f 77 20 74 68 65  period.  Now the
2a340 20 65 78 74 65 6e 73 69 6f 6e 20 6f 66 0a 61 20   extension of.a 
2a350 66 69 6c 65 20 6c 69 6b 65 20 22 66 6f 6f 2e 2e  file like "foo..
2a360 6f 22 20 69 73 20 22 2e 6f 22 20 69 6e 73 74 65  o" is ".o" inste
2a370 61 64 20 6f 66 20 22 2e 2e 6f 22 20 61 73 20 69  ad of "..o" as i
2a380 6e 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69  n previous versi
2a390 6f 6e 73 2e 20 0a 2a 2a 2a 20 50 4f 54 45 4e 54  ons. .*** POTENT
2a3a0 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c  IAL INCOMPATIBIL
2a3b0 49 54 59 20 2a 2a 2a 0a 0a 2d 2d 2d 2d 2d 2d 2d  ITY ***..-------
2a3c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
2a3d0 73 65 64 20 38 2e 30 2e 35 2c 20 33 2f 39 2f 39  sed 8.0.5, 3/9/9
2a3e0 39 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  9 --------------
2a3f0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 3d 3d 3d  -----------..===
2a400 3d 3d 3d 3d 3d 20 43 68 61 6e 67 65 73 20 66 6f  ===== Changes fo
2a410 72 20 38 2e 30 20 67 6f 20 61 62 6f 76 65 20 74  r 8.0 go above t
2a420 68 69 73 20 6c 69 6e 65 20 3d 3d 3d 3d 3d 3d 3d  his line =======
2a430 3d 0a 3d 3d 3d 3d 3d 3d 3d 3d 20 43 68 61 6e 67  =.======== Chang
2a440 65 73 20 66 6f 72 20 38 2e 31 20 67 6f 20 62 65  es for 8.1 go be
2a450 6c 6f 77 20 74 68 69 73 20 6c 69 6e 65 20 3d 3d  low this line ==
2a460 3d 3d 3d 3d 3d 3d 0a 0a 36 2f 31 38 2f 39 37 20  ======..6/18/97 
2a470 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 54 63  (new feature) Tc
2a480 6c 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20 69  l now supports i
2a490 6e 74 65 72 6e 61 74 69 6f 6e 61 6c 20 63 68 61  nternational cha
2a4a0 72 61 63 74 65 72 20 73 65 74 73 3a 0a 20 20 20  racter sets:.   
2a4b0 20 2d 20 41 6c 6c 20 43 20 41 50 49 73 20 6e 6f   - All C APIs no
2a4c0 77 20 61 63 63 65 70 74 20 55 54 46 2d 38 20 73  w accept UTF-8 s
2a4d0 74 72 69 6e 67 73 20 69 6e 73 74 65 61 64 20 6f  trings instead o
2a4e0 66 20 69 73 6f 38 38 35 39 2d 31 20 73 74 72 69  f iso8859-1 stri
2a4f0 6e 67 73 2c 0a 20 20 20 20 20 20 77 68 65 72 65  ngs,.      where
2a500 76 65 72 20 79 6f 75 20 73 65 65 20 22 63 68 61  ver you see "cha
2a510 72 20 2a 22 2c 20 75 6e 6c 65 73 73 20 65 78 70  r *", unless exp
2a520 6c 69 63 69 74 6c 79 20 6e 6f 74 65 64 20 6f 74  licitly noted ot
2a530 68 65 72 77 69 73 65 2e 0a 20 20 20 20 2d 20 41  herwise..    - A
2a540 6c 6c 20 54 63 6c 20 73 74 72 69 6e 67 73 20 72  ll Tcl strings r
2a550 65 70 72 65 73 65 6e 74 65 64 20 69 6e 20 55 54  epresented in UT
2a560 46 2d 38 2c 20 77 68 69 63 68 20 69 73 20 61 20  F-8, which is a 
2a570 63 6f 6e 76 65 6e 69 65 6e 74 0a 20 20 20 20 20  convenient.     
2a580 20 6d 75 6c 74 69 2d 62 79 74 65 20 65 6e 63 6f   multi-byte enco
2a590 64 69 6e 67 20 6f 66 20 55 6e 69 63 6f 64 65 2e  ding of Unicode.
2a5a0 20 20 56 61 72 69 61 62 6c 65 20 6e 61 6d 65 73    Variable names
2a5b0 2c 20 70 72 6f 63 65 64 75 72 65 20 6e 61 6d 65  , procedure name
2a5c0 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 61 6c 6c  s,.      and all
2a5d0 20 6f 74 68 65 72 20 76 61 6c 75 65 73 20 69 6e   other values in
2a5e0 20 54 63 6c 20 6d 61 79 20 69 6e 63 6c 75 64 65   Tcl may include
2a5f0 20 61 72 62 69 74 72 61 72 79 20 55 6e 69 63 6f   arbitrary Unico
2a600 64 65 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20  de characters.. 
2a610 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65       For example
2a620 2c 20 74 68 65 20 54 63 6c 20 63 6f 6d 6d 61 6e  , the Tcl comman
2a630 64 20 22 73 74 72 69 6e 67 20 6c 65 6e 67 74 68  d "string length
2a640 22 20 72 65 74 75 72 6e 73 20 68 6f 77 20 6d 61  " returns how ma
2a650 6e 79 0a 20 20 20 20 20 20 55 6e 69 63 6f 64 65  ny.      Unicode
2a660 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20   characters are 
2a670 69 6e 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20  in the argument 
2a680 73 74 72 69 6e 67 2e 0a 20 20 20 20 2d 20 46 6f  string..    - Fo
2a690 72 20 4a 61 76 61 20 63 6f 6d 70 61 74 69 62 69  r Java compatibi
2a6a0 6c 69 74 79 2c 20 65 6d 62 65 64 64 65 64 20 6e  lity, embedded n
2a6b0 75 6c 6c 20 62 79 74 65 73 20 69 6e 20 43 20 73  ull bytes in C s
2a6c0 74 72 69 6e 67 73 20 61 72 65 0a 20 20 20 20 20  trings are.     
2a6d0 20 72 65 70 72 65 73 65 6e 74 65 64 20 61 73 20   represented as 
2a6e0 5c 78 43 30 38 30 20 69 6e 20 55 54 46 2d 38 20  \xC080 in UTF-8 
2a6f0 73 74 72 69 6e 67 73 2c 20 62 75 74 20 74 68 65  strings, but the
2a700 20 6e 75 6c 6c 20 62 79 74 65 20 61 74 20 74 68   null byte at th
2a710 65 20 65 6e 64 0a 20 20 20 20 20 20 6f 66 20 61  e end.      of a
2a720 20 55 54 46 2d 38 20 73 74 72 69 6e 67 20 72 65   UTF-8 string re
2a730 6d 61 69 6e 73 20 5c 30 2e 20 20 54 68 75 73 20  mains \0.  Thus 
2a740 54 63 6c 20 73 74 72 69 6e 67 73 20 6f 6e 63 65  Tcl strings once
2a750 20 61 67 61 69 6e 20 64 6f 20 6e 6f 74 0a 20 20   again do not.  
2a760 20 20 20 20 63 6f 6e 74 61 69 6e 20 6e 75 6c 6c      contain null
2a770 20 62 79 74 65 73 2c 20 65 78 63 65 70 74 20 66   bytes, except f
2a780 6f 72 20 74 65 72 6d 69 6e 61 74 69 6f 6e 20 62  or termination b
2a790 79 74 65 73 2e 0a 20 20 20 20 2d 20 46 6f 72 20  ytes..    - For 
2a7a0 4a 61 76 61 20 63 6f 6d 70 61 74 69 62 69 6c 69  Java compatibili
2a7b0 74 79 2c 20 22 5c 75 58 58 58 58 22 20 69 73 20  ty, "\uXXXX" is 
2a7c0 75 73 65 64 20 69 6e 20 54 63 6c 20 74 6f 20 65  used in Tcl to e
2a7d0 6e 74 65 72 20 61 20 55 6e 69 63 6f 64 65 0a 20  nter a Unicode. 
2a7e0 20 20 20 20 20 63 68 61 72 61 63 74 65 72 2e 20       character. 
2a7f0 20 22 5c 75 30 30 30 30 22 20 74 68 72 6f 75 67   "\u0000" throug
2a800 68 20 22 5c 75 66 66 66 66 22 20 61 72 65 20 61  h "\uffff" are a
2a810 63 63 65 70 74 61 62 6c 65 20 55 6e 69 63 6f 64  cceptable Unicod
2a820 65 20 0a 20 20 20 20 20 20 63 68 61 72 61 63 74  e .      charact
2a830 65 72 73 2e 20 20 0a 20 20 20 20 2d 20 22 5c 78  ers.  .    - "\x
2a840 58 58 22 20 69 73 20 75 73 65 64 20 74 6f 20 65  XX" is used to e
2a850 6e 74 65 72 20 61 20 73 6d 61 6c 6c 20 55 6e 69  nter a small Uni
2a860 63 6f 64 65 20 63 68 61 72 61 63 74 65 72 20 28  code character (
2a870 62 65 74 77 65 65 6e 20 30 20 61 6e 64 20 32 35  between 0 and 25
2a880 35 29 0a 20 20 20 20 20 20 69 6e 20 54 63 6c 2e  5).      in Tcl.
2a890 0a 20 20 20 20 2d 20 54 63 6c 20 61 75 74 6f 6d  .    - Tcl autom
2a8a0 61 74 69 63 61 6c 6c 79 20 74 72 61 6e 73 6c 61  atically transla
2a8b0 74 65 73 20 62 65 74 77 65 65 6e 20 55 54 46 2d  tes between UTF-
2a8c0 38 20 61 6e 64 20 74 68 65 20 6e 6f 72 6d 61 6c  8 and the normal
2a8d0 20 65 6e 63 6f 64 69 6e 67 20 66 6f 72 0a 20 20   encoding for.  
2a8e0 20 20 20 20 74 68 65 20 70 6c 61 74 66 6f 72 6d      the platform
2a8f0 20 64 75 72 69 6e 67 20 69 6e 74 65 72 61 63 74   during interact
2a900 69 6f 6e 73 20 77 69 74 68 20 74 68 65 20 73 79  ions with the sy
2a910 73 74 65 6d 2e 0a 20 20 20 20 2d 20 54 68 65 20  stem..    - The 
2a920 66 63 6f 6e 66 69 67 75 72 65 20 63 6f 6d 6d 61  fconfigure comma
2a930 6e 64 20 6e 6f 77 20 73 75 70 70 6f 72 74 73 20  nd now supports 
2a940 61 20 2d 65 6e 63 6f 64 69 6e 67 20 6f 70 74 69  a -encoding opti
2a950 6f 6e 20 66 6f 72 20 73 70 65 63 69 66 79 69 6e  on for specifyin
2a960 67 0a 20 20 20 20 20 20 74 68 65 20 65 6e 63 6f  g.      the enco
2a970 64 69 6e 67 20 6f 66 20 61 6e 20 6f 70 65 6e 20  ding of an open 
2a980 66 69 6c 65 20 6f 72 20 73 6f 63 6b 65 74 2e 20  file or socket. 
2a990 20 54 63 6c 20 77 69 6c 6c 20 61 75 74 6f 6d 61   Tcl will automa
2a9a0 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 74 72  tically.      tr
2a9b0 61 6e 73 6c 61 74 65 20 62 65 74 77 65 65 6e 20  anslate between 
2a9c0 74 68 65 20 73 70 65 63 69 66 69 65 64 20 65 6e  the specified en
2a9d0 63 6f 64 69 6e 67 20 61 6e 64 20 55 54 46 2d 38  coding and UTF-8
2a9e0 20 64 75 72 69 6e 67 20 49 2f 4f 2e 20 0a 20 20   during I/O. .  
2a9f0 20 20 20 20 53 65 65 20 74 68 65 20 64 69 72 65      See the dire
2aa00 63 74 6f 72 79 20 6c 69 62 72 61 72 79 2f 65 6e  ctory library/en
2aa10 63 6f 64 69 6e 67 20 74 6f 20 66 69 6e 64 20 6f  coding to find o
2aa20 75 74 20 77 68 61 74 20 65 6e 63 6f 64 69 6e 67  ut what encoding
2aa30 73 20 61 72 65 0a 20 20 20 20 20 20 73 75 70 70  s are.      supp
2aa40 6f 72 74 65 64 20 28 65 76 65 6e 74 75 61 6c 6c  orted (eventuall
2aa50 79 20 74 68 65 72 65 20 77 69 6c 6c 20 62 65 20  y there will be 
2aa60 61 6e 20 22 65 6e 63 6f 64 69 6e 67 22 20 63 6f  an "encoding" co
2aa70 6d 6d 61 6e 64 20 74 68 61 74 0a 20 20 20 20 20  mmand that.     
2aa80 20 6d 61 6b 65 73 20 74 68 69 73 20 69 6e 66 6f   makes this info
2aa90 72 6d 61 74 69 6f 6e 20 6d 6f 72 65 20 61 63 63  rmation more acc
2aaa0 65 73 73 69 62 6c 65 29 2e 0a 20 20 20 20 2d 20  essible)..    - 
2aab0 54 68 65 72 65 20 61 72 65 20 73 65 76 65 72 61  There are severa
2aac0 6c 20 6e 65 77 20 43 20 41 50 49 73 20 74 68 61  l new C APIs tha
2aad0 74 20 73 75 70 70 6f 72 74 20 55 54 46 2d 38 20  t support UTF-8 
2aae0 61 6e 64 20 76 61 72 69 6f 75 73 20 65 6e 63 6f  and various enco
2aaf0 64 69 6e 67 73 2e 0a 20 20 20 20 20 20 53 65 65  dings..      See
2ab00 20 55 74 66 2e 33 20 66 6f 72 20 70 72 6f 63 65   Utf.3 for proce
2ab10 64 75 72 65 73 20 74 68 61 74 20 74 72 61 6e 73  dures that trans
2ab20 6c 61 74 65 20 62 65 74 77 65 65 6e 20 55 6e 69  late between Uni
2ab30 63 6f 64 65 20 61 6e 64 20 55 54 46 2d 38 0a 20  code and UTF-8. 
2ab40 20 20 20 20 20 61 6e 64 20 6d 61 6e 69 70 75 6c       and manipul
2ab50 61 74 65 20 55 54 46 2d 38 20 73 74 72 69 6e 67  ate UTF-8 string
2ab60 73 2e 20 53 65 65 20 45 6e 63 6f 64 69 6e 67 2e  s. See Encoding.
2ab70 33 20 66 6f 72 20 70 72 6f 63 65 64 75 72 65 73  3 for procedures
2ab80 20 74 68 61 74 0a 20 20 20 20 20 20 63 72 65 61   that.      crea
2ab90 74 65 20 6e 65 77 20 65 6e 63 6f 64 69 6e 67 73  te new encodings
2aba0 20 61 6e 64 20 74 72 61 6e 73 6c 61 74 65 20 62   and translate b
2abb0 65 74 77 65 65 6e 20 65 6e 63 6f 64 69 6e 67 73  etween encodings
2abc0 2e 20 20 53 65 65 0a 20 20 20 20 20 20 54 6f 55  .  See.      ToU
2abd0 70 70 65 72 2e 33 20 66 6f 72 20 70 72 6f 63 65  pper.3 for proce
2abe0 64 75 72 65 73 20 74 68 61 74 20 70 65 72 66 6f  dures that perfo
2abf0 72 6d 20 63 61 73 65 20 63 6f 6e 76 65 72 73 69  rm case conversi
2ac00 6f 6e 73 20 6f 6e 20 55 54 46 2d 38 0a 20 20 20  ons on UTF-8.   
2ac10 20 20 20 73 74 72 69 6e 67 73 2e 0a 0a 39 2f 31     strings...9/1
2ac20 38 2f 39 37 20 28 65 6e 68 61 6e 63 65 6d 65 6e  8/97 (enhancemen
2ac30 74 29 20 4c 69 74 65 72 61 6c 20 6f 62 6a 65 63  t) Literal objec
2ac40 74 73 20 61 72 65 20 6e 6f 77 20 73 68 61 72 65  ts are now share
2ac50 64 20 62 79 20 74 68 65 20 42 79 74 65 43 6f 64  d by the ByteCod
2ac60 65 0a 73 74 72 75 63 74 75 72 65 73 20 63 72 65  e.structures cre
2ac70 61 74 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c  ated when compil
2ac80 65 64 20 64 69 66 66 65 72 65 6e 74 20 73 63 72  ed different scr
2ac90 69 70 74 73 2e 20 54 68 69 73 20 73 61 76 65 73  ipts. This saves
2aca0 20 75 70 20 74 6f 20 34 35 25 0a 6f 66 20 74 68   up to 45%.of th
2acb0 65 20 74 6f 74 61 6c 20 6d 65 6d 6f 72 79 20 6e  e total memory n
2acc0 65 65 64 65 64 20 66 6f 72 20 61 6c 6c 20 6c 69  eeded for all li
2acd0 74 65 72 61 6c 73 2e 20 28 42 4c 29 0a 0a 39 2f  terals. (BL)..9/
2ace0 32 34 2f 39 37 20 28 62 75 67 20 66 69 78 65 73  24/97 (bug fixes
2acf0 29 20 46 69 78 65 64 20 54 63 6c 5f 50 61 72 73  ) Fixed Tcl_Pars
2ad00 65 43 6f 6d 6d 61 6e 64 20 70 61 72 73 69 6e 67  eCommand parsing
2ad10 20 6f 66 20 62 61 63 6b 73 6c 61 73 68 2d 6e 65   of backslash-ne
2ad20 77 6c 69 6e 65 0a 73 65 71 75 65 6e 63 65 73 20  wline.sequences 
2ad30 61 74 20 73 74 61 72 74 20 6f 66 20 63 6f 6d 6d  at start of comm
2ad40 61 6e 64 20 77 6f 72 64 73 2e 20 53 75 70 70 72  and words. Suppr
2ad50 65 73 73 65 64 20 54 63 6c 5f 45 76 61 6c 44 69  essed Tcl_EvalDi
2ad60 72 65 63 74 20 65 72 72 6f 72 20 6c 6f 67 67 69  rect error loggi
2ad70 6e 67 0a 69 66 20 6e 6f 6e 2d 54 43 4c 5f 4f 4b  ng.if non-TCL_OK
2ad80 20 72 65 73 75 6c 74 20 77 61 73 6e 27 74 20 61   result wasn't a
2ad90 6e 20 65 72 72 6f 72 2e 20 28 42 4c 29 0a 0a 31  n error. (BL)..1
2ada0 30 2f 31 37 2f 39 37 20 28 66 65 61 74 75 72 65  0/17/97 (feature
2adb0 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 22 7e   enhancement) "~
2adc0 75 73 65 72 6e 61 6d 65 22 20 6e 6f 77 20 72 65  username" now re
2add0 66 65 72 73 20 74 6f 20 74 68 65 20 75 73 65 72  fers to the user
2ade0 73 27 20 68 6f 6d 65 0a 64 69 72 65 63 74 6f 72  s' home.director
2adf0 79 20 6f 6e 20 57 69 6e 64 6f 77 73 20 28 70 72  y on Windows (pr
2ae00 65 76 69 6f 75 73 6c 79 20 61 6c 77 61 79 73 20  eviously always 
2ae10 72 65 74 75 72 6e 65 64 20 66 61 69 6c 75 72 65  returned failure
2ae20 29 2e 20 28 43 43 53 29 0a 0a 31 30 2f 32 30 2f  ). (CCS)..10/20/
2ae30 39 37 20 28 69 6d 70 6c 65 6d 65 6e 74 61 74 69  97 (implementati
2ae40 6f 6e 20 63 68 61 6e 67 65 29 20 54 68 65 20 54  on change) The T
2ae50 63 6c 20 70 61 72 73 65 72 20 68 61 73 20 62 65  cl parser has be
2ae60 65 6e 20 63 6f 6d 70 6c 65 74 65 6c 79 20 72 65  en completely re
2ae70 77 72 69 74 74 65 6e 0a 74 6f 20 6d 61 6b 65 20  written.to make 
2ae80 69 74 20 6d 6f 72 65 20 6d 6f 64 75 6c 61 72 2e  it more modular.
2ae90 20 20 49 74 20 63 61 6e 20 6e 6f 77 20 62 65 20    It can now be 
2aea0 75 73 65 64 20 74 6f 20 70 61 72 73 65 20 61 20  used to parse a 
2aeb0 73 63 72 69 70 74 20 77 69 74 68 6f 75 74 20 61  script without a
2aec0 63 74 75 61 6c 6c 79 0a 65 78 65 63 75 74 69 6e  ctually.executin
2aed0 67 20 69 74 2e 20 20 54 68 65 20 41 50 49 73 20  g it.  The APIs 
2aee0 66 6f 72 20 74 68 65 20 6e 65 77 20 70 61 72 73  for the new pars
2aef0 65 72 20 61 72 65 20 6e 6f 74 20 63 6f 72 72 65  er are not corre
2af00 63 74 6c 79 20 65 78 70 6f 72 74 65 64 2c 20 62  ctly exported, b
2af10 75 74 0a 74 68 65 79 20 77 69 6c 6c 20 65 76 65  ut.they will eve
2af20 6e 74 75 61 6c 6c 79 20 62 65 20 65 78 70 6f 72  ntually be expor
2af30 74 65 64 20 61 6e 64 20 61 75 67 6d 65 6e 74 65  ted and augmente
2af40 64 20 77 69 74 68 20 54 63 6c 20 63 6f 6d 6d 61  d with Tcl comma
2af50 6e 64 73 20 73 6f 20 74 68 61 74 0a 54 63 6c 20  nds so that.Tcl 
2af60 73 63 72 69 70 74 73 20 63 61 6e 20 70 61 72 73  scripts can pars
2af70 65 20 6f 74 68 65 72 20 54 63 6c 20 73 63 72 69  e other Tcl scri
2af80 70 74 73 2e 20 28 4a 4f 29 0a 0a 31 30 2f 32 31  pts. (JO)..10/21
2af90 2f 39 37 20 28 41 50 49 20 63 68 61 6e 67 65 29  /97 (API change)
2afa0 20 41 64 64 65 64 20 22 66 6c 61 67 73 22 20 61   Added "flags" a
2afb0 72 67 75 6d 65 6e 74 20 74 6f 20 54 63 6c 5f 45  rgument to Tcl_E
2afc0 76 61 6c 4f 62 6a 2c 20 72 65 6d 6f 76 65 64 0a  valObj, removed.
2afd0 54 63 6c 5f 47 6c 6f 62 61 6c 45 76 61 6c 4f 62  Tcl_GlobalEvalOb
2afe0 6a 20 70 72 6f 63 65 64 75 72 65 2e 20 20 41 64  j procedure.  Ad
2aff0 64 65 64 20 6e 65 77 20 70 72 6f 63 65 64 75 72  ded new procedur
2b000 65 73 20 54 63 6c 5f 45 76 61 6c 32 20 61 6e 64  es Tcl_Eval2 and
2b010 0a 54 63 6c 5f 45 76 61 6c 4f 62 6a 76 2e 20 28  .Tcl_EvalObjv. (
2b020 4a 4f 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  JO).*** POTENTIA
2b030 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
2b040 59 20 2a 2a 2a 0a 0a 31 30 2f 32 32 2f 39 37 20  Y ***..10/22/97 
2b050 28 41 50 49 20 63 68 61 6e 67 65 29 20 52 65 6e  (API change) Ren
2b060 61 6d 65 64 20 54 63 6c 5f 4f 62 6a 53 65 74 56  amed Tcl_ObjSetV
2b070 61 72 32 20 61 6e 64 20 54 63 6c 5f 4f 62 6a 47  ar2 and Tcl_ObjG
2b080 65 74 56 61 72 32 20 74 6f 0a 54 63 6c 5f 53 65  etVar2 to.Tcl_Se
2b090 74 4f 62 6a 56 61 72 32 20 61 6e 64 20 54 63 6c  tObjVar2 and Tcl
2b0a0 5f 47 65 74 4f 62 6a 56 61 72 32 20 28 66 6f 72  _GetObjVar2 (for
2b0b0 20 63 6f 6e 73 69 73 74 65 6e 63 79 20 77 69 74   consistency wit
2b0c0 68 20 6f 74 68 65 72 20 43 20 41 50 49 73 29 0a  h other C APIs).
2b0d0 61 6e 64 20 63 68 61 6e 67 65 64 20 74 68 65 20  and changed the 
2b0e0 6e 61 6d 65 20 61 72 67 75 6d 65 6e 74 73 20 74  name arguments t
2b0f0 6f 20 62 65 20 73 74 72 69 6e 67 73 20 69 6e 73  o be strings ins
2b100 74 65 61 64 20 6f 66 20 6f 62 6a 65 63 74 73 2e  tead of objects.
2b110 20 20 28 4a 4f 29 0a 2a 2a 2a 20 50 4f 54 45 4e    (JO).*** POTEN
2b120 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49  TIAL INCOMPATIBI
2b130 4c 49 54 59 20 2a 2a 2a 0a 0a 31 30 2f 32 37 2f  LITY ***..10/27/
2b140 39 37 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29  97 (enhancement)
2b150 20 42 79 74 65 63 6f 64 65 20 63 6f 6d 70 69 6c   Bytecode compil
2b160 65 72 20 72 65 77 72 69 74 74 65 6e 20 74 6f 20  er rewritten to 
2b170 75 73 65 20 74 68 65 20 6e 65 77 20 54 63 6c 0a  use the new Tcl.
2b180 70 61 72 73 65 72 2e 20 28 42 4c 29 0a 0a 31 31  parser. (BL)..11
2b190 2f 33 2f 39 37 20 28 4e 65 77 20 72 6f 75 74 69  /3/97 (New routi
2b1a0 6e 65 73 29 20 41 64 64 65 64 20 54 63 6c 5f 41  nes) Added Tcl_A
2b1b0 70 70 65 6e 64 4f 62 6a 54 6f 4f 62 6a 2c 20 77  ppendObjToObj, w
2b1c0 68 69 63 68 20 61 70 70 65 6e 64 73 20 74 68 65  hich appends the
2b1d0 0a 73 74 72 69 6e 67 20 72 65 70 20 6f 66 20 6f  .string rep of o
2b1e0 6e 65 20 54 63 6c 5f 4f 62 6a 20 74 6f 20 61 6e  ne Tcl_Obj to an
2b1f0 6f 74 68 65 72 2e 20 41 64 64 65 64 20 54 63 6c  other. Added Tcl
2b200 5f 47 65 74 49 6e 64 65 78 46 72 6f 6d 4f 62 6a  _GetIndexFromObj
2b210 53 74 72 75 63 74 2c 0a 77 68 69 63 68 20 69 73  Struct,.which is
2b220 20 73 69 6d 69 6c 61 72 20 74 6f 20 54 63 6c 5f   similar to Tcl_
2b230 47 65 74 49 6e 64 65 78 46 72 6f 6d 4f 62 6a 2c  GetIndexFromObj,
2b240 20 65 78 63 65 70 74 20 74 68 61 74 20 79 6f 75   except that you
2b250 20 63 61 6e 20 67 69 76 65 20 61 6e 0a 6f 66 66   can give an.off
2b260 73 65 74 20 62 65 74 77 65 65 6e 20 73 74 72 69  set between stri
2b270 6e 67 73 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73  ngs. This allows
2b280 20 54 63 6c 5f 47 65 74 49 6e 64 65 78 46 72 6f   Tcl_GetIndexFro
2b290 6d 4f 62 6a 53 74 72 75 63 74 20 74 6f 20 62 65  mObjStruct to be
2b2a0 0a 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 74  .called with a t
2b2b0 61 62 6c 65 20 6f 66 20 72 65 63 6f 72 64 73 20  able of records 
2b2c0 77 68 69 63 68 20 68 61 76 65 20 73 74 72 69 6e  which have strin
2b2d0 67 73 20 69 6e 20 74 68 65 6d 2e 20 28 53 52 50  gs in them. (SRP
2b2e0 29 0a 0a 31 32 2f 34 2f 39 37 20 28 65 6e 68 61  )..12/4/97 (enha
2b2f0 6e 63 65 6d 65 6e 74 29 20 4e 65 77 20 54 63 6c  ncement) New Tcl
2b300 20 65 78 70 72 65 73 73 69 6f 6e 20 70 61 72 73   expression pars
2b310 65 72 20 61 64 64 65 64 2e 20 41 64 64 65 64 20  er added. Added 
2b320 6e 65 77 20 70 72 6f 63 65 64 75 72 65 0a 54 63  new procedure.Tc
2b330 6c 5f 50 61 72 73 65 45 78 70 72 20 61 6e 64 20  l_ParseExpr and 
2b340 6e 65 77 20 74 6f 6b 65 6e 20 74 79 70 65 73 20  new token types 
2b350 54 43 4c 5f 54 4f 4b 45 4e 5f 53 55 42 5f 45 58  TCL_TOKEN_SUB_EX
2b360 50 52 20 61 6e 64 0a 54 43 4c 5f 54 4f 4b 45 4e  PR and.TCL_TOKEN
2b370 5f 4f 50 45 52 41 54 4f 52 2e 20 45 78 70 72 65  _OPERATOR. Expre
2b380 73 73 69 6f 6e 20 63 6f 6d 70 69 6c 65 72 20 69  ssion compiler i
2b390 73 20 72 65 69 6d 70 6c 65 6d 65 6e 74 65 64 20  s reimplemented 
2b3a0 74 6f 20 75 73 65 20 74 68 69 73 0a 70 61 72 73  to use this.pars
2b3b0 65 72 2e 20 28 42 4c 29 0a 0a 31 32 2f 39 2f 39  er. (BL)..12/9/9
2b3c0 37 20 28 62 75 67 20 66 69 78 29 20 54 63 6c 5f  7 (bug fix) Tcl_
2b3d0 45 76 61 6c 4f 62 6a 28 29 20 69 6e 63 72 65 6d  EvalObj() increm
2b3e0 65 6e 74 73 2f 64 65 63 72 65 6d 65 6e 74 73 20  ents/decrements 
2b3f0 74 68 65 20 72 65 66 63 6f 75 6e 74 20 6f 66 20  the refcount of 
2b400 74 68 65 0a 73 63 72 69 70 74 20 6f 62 6a 65 63  the.script objec
2b410 74 20 74 6f 20 70 72 65 76 65 6e 74 20 74 68 65  t to prevent the
2b420 20 6f 62 6a 65 63 74 20 66 72 6f 6d 20 64 65 6c   object from del
2b430 65 74 69 6e 67 20 69 74 73 65 6c 66 20 77 68 69  eting itself whi
2b440 6c 65 20 69 6e 20 74 68 65 0a 6d 69 64 64 6c 65  le in the.middle
2b450 20 6f 66 20 62 65 69 6e 67 20 65 76 61 6c 75 61   of being evalua
2b460 74 65 64 2e 20 28 43 43 53 29 0a 0a 31 32 2f 39  ted. (CCS)..12/9
2b470 2f 39 37 20 28 62 75 67 20 66 69 78 29 20 4d 65  /97 (bug fix) Me
2b480 6d 6f 72 79 20 6c 65 61 6b 20 69 6e 20 54 63 6c  mory leak in Tcl
2b490 5f 47 65 74 73 4f 62 6a 43 6d 64 28 29 2e 20 28  _GetsObjCmd(). (
2b4a0 43 43 53 29 0a 0a 31 32 2f 31 31 2f 39 37 20 28  CCS)..12/11/97 (
2b4b0 62 75 67 20 66 69 78 29 20 45 6e 76 69 72 6f 6e  bug fix) Environ
2b4c0 6d 65 6e 74 20 61 72 72 61 79 20 6c 65 61 6b 65  ment array leake
2b4d0 64 20 6d 65 6d 6f 72 79 20 77 68 65 6e 20 63 6f  d memory when co
2b4e0 6d 70 69 6c 65 64 20 77 69 74 68 0a 56 69 73 75  mpiled with.Visu
2b4f0 61 6c 20 43 2b 2b 2e 20 28 53 53 29 0a 0a 31 32  al C++. (SS)..12
2b500 2f 31 31 2f 39 37 20 28 62 75 67 20 66 69 78 29  /11/97 (bug fix)
2b510 20 46 69 6c 65 20 65 76 65 6e 74 73 20 61 6e 64   File events and
2b520 20 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e 67 20 49 2f   non-blocking I/
2b530 4f 20 64 69 64 20 6e 6f 74 20 77 6f 72 6b 20 6f  O did not work o
2b540 6e 0a 70 69 70 65 73 20 75 6e 64 65 72 20 57 69  n.pipes under Wi
2b550 6e 64 6f 77 73 2e 20 20 43 68 61 6e 67 65 64 20  ndows.  Changed 
2b560 74 6f 20 75 73 65 20 74 68 72 65 61 64 73 20 74  to use threads t
2b570 6f 20 61 63 68 69 65 76 65 20 6e 6f 6e 2d 62 6c  o achieve non-bl
2b580 6f 63 6b 69 6e 67 0a 62 65 68 61 76 69 6f 72 2e  ocking.behavior.
2b590 20 28 53 53 29 0a 0a 31 32 2f 31 38 2f 39 37 20   (SS)..12/18/97 
2b5a0 28 62 75 67 20 66 69 78 65 73 29 20 46 69 78 65  (bug fixes) Fixe
2b5b0 64 20 73 65 67 66 61 75 6c 74 20 69 6e 20 22 6e  d segfault in "n
2b5c0 61 6d 65 73 70 61 63 65 20 69 6d 70 6f 72 74 22  amespace import"
2b5d0 3b 20 69 6d 70 6f 72 74 69 6e 67 20 61 0a 70 72  ; importing a.pr
2b5e0 6f 63 65 64 75 72 65 20 74 68 61 74 20 63 61 75  ocedure that cau
2b5f0 73 65 73 20 61 20 63 79 63 6c 65 20 6e 6f 77 20  ses a cycle now 
2b600 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72  returns an error
2b610 2e 20 4d 6f 64 69 66 69 65 64 20 22 69 6e 66 6f  . Modified "info
2b620 20 70 72 6f 63 73 22 2c 0a 22 69 6e 66 6f 20 61   procs",."info a
2b630 72 67 73 22 2c 20 22 69 6e 66 6f 20 62 6f 64 79  rgs", "info body
2b640 22 2c 20 61 6e 64 20 22 69 6e 66 6f 20 64 65 66  ", and "info def
2b650 61 75 6c 74 22 20 74 6f 20 72 65 74 75 72 6e 20  ault" to return 
2b660 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75  information abou
2b670 74 0a 69 6d 70 6f 72 74 65 64 20 70 72 6f 63 65  t.imported proce
2b680 64 75 72 65 73 20 61 73 20 77 65 6c 6c 20 61 73  dures as well as
2b690 20 70 72 6f 63 65 64 75 72 65 73 20 64 65 66 69   procedures defi
2b6a0 6e 65 64 20 69 6e 20 61 20 6e 61 6d 65 73 70 61  ned in a namespa
2b6b0 63 65 2e 20 28 42 4c 29 0a 0a 31 32 2f 31 39 2f  ce. (BL)..12/19/
2b6c0 39 37 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29  97 (enhancement)
2b6d0 20 41 64 64 65 64 20 6e 65 77 20 54 63 6c 5f 47   Added new Tcl_G
2b6e0 65 74 53 74 72 69 6e 67 28 29 20 70 72 6f 63 65  etString() proce
2b6f0 64 75 72 65 20 74 68 61 74 20 63 61 6e 20 62 65  dure that can be
2b700 20 75 73 65 64 0a 69 6e 20 70 6c 61 63 65 20 6f   used.in place o
2b710 66 20 54 63 6c 5f 47 65 74 53 74 72 69 6e 67 46  f Tcl_GetStringF
2b720 72 6f 6d 4f 62 6a 28 29 20 69 66 20 74 68 65 20  romObj() if the 
2b730 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74  string represent
2b740 61 74 69 6f 6e 27 73 20 6c 65 6e 67 74 68 0a 69  ation's length.i
2b750 73 6e 27 74 20 6e 65 65 64 65 64 2e 20 28 42 4c  sn't needed. (BL
2b760 29 0a 0a 31 32 2f 31 38 2f 39 37 20 28 62 75 67  )..12/18/97 (bug
2b770 20 66 69 78 29 20 49 6e 20 74 68 65 20 6f 70 74   fix) In the opt
2b780 20 61 72 67 75 6d 65 6e 74 20 70 61 72 73 69 6e   argument parsin
2b790 67 20 70 61 63 6b 61 67 65 3a 20 69 66 20 74 68  g package: if th
2b7a0 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 0a 68  e description .h
2b7b0 61 64 20 6f 6e 6c 79 20 66 6c 61 67 73 2c 20 74  ad only flags, t
2b7c0 68 65 20 22 74 6f 6f 20 6d 61 6e 79 20 61 72 67  he "too many arg
2b7d0 75 6d 65 6e 74 73 22 20 63 61 73 65 20 77 61 73  uments" case was
2b7e0 20 6e 6f 74 20 64 65 74 65 63 74 65 64 2e 20 54   not detected. T
2b7f0 68 65 20 64 65 66 61 75 6c 74 0a 76 61 6c 75 65  he default.value
2b800 20 77 61 73 20 6e 6f 74 20 75 73 65 64 20 66 6f   was not used fo
2b810 72 20 74 68 65 20 73 70 65 63 69 61 6c 20 22 61  r the special "a
2b820 72 67 73 22 20 65 6e 64 69 6e 67 20 61 72 67 75  rgs" ending argu
2b830 6d 65 6e 74 2e 20 28 44 4c 29 0a 0a 31 2f 37 2f  ment. (DL)..1/7/
2b840 39 38 20 28 63 6c 65 61 6e 20 75 70 29 20 4d 6f  98 (clean up) Mo
2b850 76 65 64 20 65 76 65 72 79 74 68 69 6e 67 20 6e  ved everything n
2b860 6f 74 20 61 62 73 6f 6c 75 74 6c 79 20 6e 65 63  ot absolutly nec
2b870 65 73 73 61 72 79 20 6f 75 74 20 6f 66 20 69 6e  essary out of in
2b880 69 74 2e 74 63 6c 0a 70 72 6f 63 73 20 6e 6f 77  it.tcl.procs now
2b890 20 69 6e 20 61 75 74 6f 2e 74 63 6c 20 61 6e 64   in auto.tcl and
2b8a0 20 70 61 63 6b 61 67 65 2e 74 63 6c 20 63 61 6e   package.tcl can
2b8b0 20 62 65 20 61 75 74 6f 6c 6f 61 64 65 64 20 69   be autoloaded i
2b8c0 66 20 6e 65 65 64 65 64 2e 20 28 44 4c 29 0a 0a  f needed. (DL)..
2b8d0 31 2f 37 2f 39 38 20 28 65 6e 68 61 6e 63 65 6d  1/7/98 (enhancem
2b8e0 65 6e 74 29 20 74 63 6c 74 65 73 74 20 6d 61 64  ent) tcltest mad
2b8f0 65 20 61 74 20 69 6e 73 74 61 6c 6c 20 74 69 6d  e at install tim
2b900 65 20 77 69 6c 6c 20 73 65 61 72 63 68 20 66 6f  e will search fo
2b910 72 20 69 74 27 73 0a 69 6e 69 74 2e 74 63 6c 20  r it's.init.tcl 
2b920 77 68 65 72 65 20 69 74 20 69 73 2c 20 65 76 65  where it is, eve
2b930 6e 20 77 68 65 6e 20 75 73 69 6e 67 20 76 69 72  n when using vir
2b940 74 75 61 6c 20 70 61 74 68 20 63 6f 6d 70 69 6c  tual path compil
2b950 61 74 69 6f 6e 2e 20 28 44 4c 29 0a 0a 31 2f 38  ation. (DL)..1/8
2b960 2f 39 38 20 28 6f 73 20 62 75 67 20 77 6f 72 6b  /98 (os bug work
2b970 61 72 6f 75 6e 64 29 20 77 68 65 6e 20 6e 65 65  around) when nee
2b980 64 65 64 2c 20 75 73 69 6e 67 20 61 20 72 65 70  ded, using a rep
2b990 6c 61 63 65 6d 65 6e 74 20 66 6f 72 20 6d 65 6d  lacement for mem
2b9a0 63 6d 70 20 73 6f 20 0a 73 74 72 69 6e 67 20 63  cmp so .string c
2b9b0 6f 6d 70 61 72 65 20 22 63 68 61 72 20 77 69 74  ompare "char wit
2b9c0 68 20 68 69 67 68 20 62 69 74 20 73 65 74 22 20  h high bit set" 
2b9d0 22 63 68 61 72 20 77 2f 6f 20 68 69 67 68 20 62  "char w/o high b
2b9e0 69 74 20 73 65 74 22 20 72 65 74 75 72 6e 73 0a  it set" returns.
2b9f0 74 68 65 20 65 78 70 65 63 74 65 64 20 76 61 6c  the expected val
2ba00 75 65 20 6f 6e 20 61 6c 6c 20 70 6c 61 74 66 6f  ue on all platfo
2ba10 72 6d 73 2e 20 28 44 4c 29 0a 0a 31 2f 38 2f 39  rms. (DL)..1/8/9
2ba20 38 20 28 75 6e 69 78 20 70 6f 72 74 61 62 69 6c  8 (unix portabil
2ba30 69 74 79 2f 63 6f 6e 66 69 67 75 72 65 29 20 62  ity/configure) b
2ba40 75 69 6c 64 69 6e 67 20 66 72 6f 6d 20 2e 2e 2e  uilding from ...
2ba50 2f 75 6e 69 78 2f 74 61 72 67 65 74 4e 61 6d 65  /unix/targetName
2ba60 2f 20 0a 73 75 62 64 69 72 65 63 74 6f 72 69 65  / .subdirectorie
2ba70 73 20 61 6e 64 20 73 69 6d 70 6c 79 20 75 73 69  s and simply usi
2ba80 6e 67 20 22 2e 2e 2f 63 6f 6e 66 69 67 75 72 65  ng "../configure
2ba90 22 20 73 68 6f 75 6c 64 20 6e 6f 77 20 77 6f 72  " should now wor
2baa0 6b 20 66 69 6e 65 2e 20 28 44 4c 29 0a 0a 31 2f  k fine. (DL)..1/
2bab0 31 34 2f 39 38 20 28 65 6e 68 61 6e 63 65 6d 65  14/98 (enhanceme
2bac0 6e 74 29 20 41 64 64 65 64 20 6e 65 77 20 72 65  nt) Added new re
2bad0 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e  gular expression
2bae0 20 70 61 63 6b 61 67 65 20 74 68 61 74 0a 73 75   package that.su
2baf0 70 70 6f 72 74 73 20 41 52 45 73 2c 20 45 52 45  pports AREs, ERE
2bb00 73 2c 20 61 6e 64 20 42 52 45 73 2e 20 20 54 68  s, and BREs.  Th
2bb10 65 20 6e 65 77 20 70 61 63 6b 61 67 65 20 69 6e  e new package in
2bb20 63 6c 75 64 65 73 20 6e 65 77 20 65 73 63 61 70  cludes new escap
2bb30 65 0a 63 68 61 72 61 63 74 65 72 73 2c 20 6d 65  e.characters, me
2bb40 74 61 2d 73 79 6e 74 61 78 2c 20 61 6e 64 20 63  ta-syntax, and c
2bb50 68 61 72 61 63 74 65 72 20 63 6c 61 73 73 65 73  haracter classes
2bb60 20 69 6e 73 69 64 65 20 62 72 61 63 6b 65 74 73   inside brackets
2bb70 2e 0a 52 65 67 65 78 70 73 20 69 6e 76 6f 6c 76  ..Regexps involv
2bb80 69 6e 67 20 62 61 63 6b 73 6c 61 73 68 65 73 20  ing backslashes 
2bb90 6d 61 79 20 62 65 68 61 76 65 20 64 69 66 66 65  may behave diffe
2bba0 72 65 6e 74 6c 79 2e 20 20 28 4d 48 29 0a 2a 2a  rently.  (MH).**
2bbb0 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
2bbc0 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
2bbd0 0a 31 2f 31 36 2f 39 38 20 28 6f 73 20 77 6f 72  .1/16/98 (os wor
2bbe0 6b 61 72 6f 75 6e 64 29 20 55 6e 64 65 72 20 77  karound) Under w
2bbf0 69 6e 64 6f 77 73 2c 20 22 66 69 6c 65 20 76 6f  indows, "file vo
2bc00 6c 75 6d 65 22 20 77 61 73 20 63 61 75 73 69 6e  lume" was causin
2bc10 67 20 63 68 61 74 74 65 72 0a 61 6e 64 2f 6f 72  g chatter.and/or
2bc20 20 73 65 76 65 72 61 6c 20 73 65 63 6f 6e 64 73   several seconds
2bc30 20 6f 66 20 68 61 6e 67 69 6e 67 20 77 68 65 6e   of hanging when
2bc40 20 71 75 65 72 79 69 6e 67 20 65 6d 70 74 79 20   querying empty 
2bc50 66 6c 6f 70 70 79 20 64 72 69 76 65 73 2e 0a 43  floppy drives..C
2bc60 68 61 6e 67 65 64 20 69 6d 70 6c 65 6d 65 6e 74  hanged implement
2bc70 61 74 69 6f 6e 20 74 6f 20 63 61 6c 6c 20 61 6e  ation to call an
2bc80 20 65 6d 70 69 72 69 63 61 6c 6c 79 2d 64 65 72   empirically-der
2bc90 69 76 65 64 20 66 75 6e 63 74 69 6f 6e 20 74 68  ived function th
2bca0 61 74 20 64 6f 65 73 6e 27 74 0a 63 61 75 73 65  at doesn't.cause
2bcb0 20 74 68 69 73 2e 20 28 43 43 53 29 0a 0a 31 2f   this. (CCS)..1/
2bcc0 31 36 2f 39 38 20 28 65 6e 68 61 6e 63 65 6d 65  16/98 (enhanceme
2bcd0 6e 74 29 20 43 6f 6e 76 65 72 74 65 64 20 72 65  nt) Converted re
2bce0 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e  gular expression
2bcf0 73 20 74 6f 20 61 20 54 63 6c 5f 4f 62 6a 20 74  s to a Tcl_Obj t
2bd00 79 70 65 20 73 6f 0a 74 68 65 69 72 20 63 6f 6d  ype so.their com
2bd10 70 69 6c 65 64 20 66 6f 72 6d 20 67 65 74 73 20  piled form gets 
2bd20 63 61 63 68 65 64 20 61 75 74 6f 6d 61 74 69 63  cached automatic
2bd30 61 6c 6c 79 2e 20 20 52 65 64 75 63 65 64 20 4e  ally.  Reduced N
2bd40 53 55 42 45 58 50 20 66 72 6f 6d 20 31 30 30 0a  SUBEXP from 100.
2bd50 74 6f 20 32 30 2e 20 28 42 57 29 0a 0a 31 2f 31  to 20. (BW)..1/1
2bd60 36 2f 39 38 20 28 64 6f 63 75 6d 65 6e 74 61 74  6/98 (documentat
2bd70 69 6f 6e 29 20 43 68 61 6e 67 65 20 75 6e 63 6c  ion) Change uncl
2bd80 65 61 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f  ear documentatio
2bd90 6e 20 61 6e 64 20 63 6f 6d 6d 65 6e 74 73 20 66  n and comments f
2bda0 6f 72 0a 66 75 6e 63 74 69 6f 6e 73 20 6c 69 6b  or.functions lik
2bdb0 65 20 54 63 6c 5f 54 72 61 6e 73 6c 61 74 65 46  e Tcl_TranslateF
2bdc0 69 6c 65 4e 61 6d 65 28 29 20 61 6e 64 20 54 63  ileName() and Tc
2bdd0 6c 5f 45 78 74 65 72 6e 61 6c 54 6f 55 74 66 44  l_ExternalToUtfD
2bde0 53 74 72 69 6e 67 28 29 2e 20 20 4e 6f 77 0a 69  String().  Now.i
2bdf0 74 20 65 78 70 6c 69 63 69 74 6c 79 20 73 61 79  t explicitly say
2be00 73 20 74 68 65 79 20 74 61 6b 65 20 61 6e 20 75  s they take an u
2be10 6e 69 6e 69 74 69 61 6c 69 7a 65 64 20 6f 72 20  ninitialized or 
2be20 66 72 65 65 20 44 53 74 72 69 6e 67 2e 20 20 41  free DString.  A
2be30 20 44 53 74 72 69 6e 67 0a 74 68 61 74 20 69 73   DString.that is
2be40 20 22 65 6d 70 74 79 22 20 6f 72 20 22 6e 6f 74   "empty" or "not
2be50 20 68 6f 6c 64 69 6e 67 20 61 6e 79 74 68 69 6e   holding anythin
2be60 67 22 20 63 6f 75 6c 64 20 68 61 76 65 20 62 65  g" could have be
2be70 65 6e 20 69 6e 74 65 72 70 72 65 74 65 64 20 61  en interpreted a
2be80 73 20 6f 6e 65 0a 63 75 72 72 65 6e 74 6c 79 20  s one.currently 
2be90 77 69 74 68 20 61 20 7a 65 72 6f 20 6c 65 6e 67  with a zero leng
2bea0 74 68 2c 20 62 75 74 20 77 69 74 68 20 61 20 6c  th, but with a l
2beb0 61 72 67 65 20 64 79 6e 61 6d 69 63 61 6c 6c 79  arge dynamically
2bec0 20 61 6c 6c 6f 63 61 74 65 64 20 62 75 66 66 65   allocated buffe
2bed0 72 2e 0a 28 43 43 53 29 0a 0a 2d 2d 2d 2d 2d 2d  r..(CCS)..------
2bee0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65  ----------- Rele
2bef0 61 73 65 64 20 38 2e 31 61 31 2c 20 31 2f 32 32  ased 8.1a1, 1/22
2bf00 2f 39 38 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  /98 ------------
2bf10 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 31 2f 32  -----------..1/2
2bf20 38 2f 39 38 20 28 6e 65 77 20 66 65 61 74 75 72  8/98 (new featur
2bf30 65 29 20 41 64 64 65 64 20 61 20 22 2d 64 69 72  e) Added a "-dir
2bf40 65 63 74 22 20 6f 70 74 69 6f 6e 61 6c 20 66 6c  ect" optional fl
2bf50 61 67 20 74 6f 20 70 6b 67 5f 6d 6b 49 6e 64 65  ag to pkg_mkInde
2bf60 78 0a 74 6f 20 67 65 6e 65 72 61 74 65 20 64 69  x.to generate di
2bf70 72 65 63 74 20 6c 6f 61 64 69 6e 67 20 70 61 63  rect loading pac
2bf80 6b 61 67 65 20 69 6e 64 65 78 65 73 20 28 73 75  kage indexes (su
2bf90 63 68 20 74 68 6f 73 65 20 79 6f 75 20 6e 65 65  ch those you nee
2bfa0 64 0a 69 66 20 79 6f 75 20 75 73 65 20 6e 61 6d  d.if you use nam
2bfb0 65 73 70 61 63 65 73 20 61 6e 64 20 70 6c 61 6e  espaces and plan
2bfc0 20 6f 6e 20 75 73 69 6e 67 20 6e 61 6d 65 73 70   on using namesp
2bfd0 61 63 65 20 69 6d 70 6f 72 74 20 6a 75 73 74 20  ace import just 
2bfe0 61 66 74 65 72 0a 70 61 63 6b 61 67 65 20 72 65  after.package re
2bff0 71 75 69 72 65 29 2e 20 70 6b 67 5f 6d 6b 49 6e  quire). pkg_mkIn
2c000 64 65 78 20 73 74 69 6c 6c 20 68 61 73 20 6c 69  dex still has li
2c010 6d 69 74 61 74 69 6f 6e 73 20 72 65 67 61 72 64  mitations regard
2c020 69 6e 67 0a 70 61 63 6b 61 67 65 20 64 65 70 65  ing.package depe
2c030 6e 64 65 6e 63 69 65 73 20 62 75 74 20 65 72 72  ndencies but err
2c040 6f 72 73 20 61 72 65 20 6e 6f 77 20 69 67 6e 6f  ors are now igno
2c050 72 65 64 20 61 6e 64 20 77 69 74 68 20 2d 64 69  red and with -di
2c060 72 65 63 74 2c 20 63 6f 72 72 65 63 74 0a 70 61  rect, correct.pa
2c070 63 6b 61 67 65 20 69 6e 64 65 78 65 73 20 63 61  ckage indexes ca
2c080 6e 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 65  n be generated e
2c090 76 65 6e 20 69 66 20 74 68 65 72 65 20 61 72 65  ven if there are
2c0a0 20 64 65 70 65 6e 64 65 6e 63 69 65 73 20 61 73   dependencies as
2c0b0 20 6c 6f 6e 67 20 0a 61 73 20 74 68 65 20 22 70   long .as the "p
2c0c0 61 63 6b 61 67 65 20 70 72 6f 76 69 64 65 22 20  ackage provide" 
2c0d0 61 72 65 20 64 6f 6e 65 20 65 61 72 6c 79 20 65  are done early e
2c0e0 6e 6f 75 67 68 20 69 6e 20 74 68 65 20 66 69 6c  nough in the fil
2c0f0 65 73 2e 20 28 44 4c 29 0a 0a 31 2f 32 38 2f 39  es. (DL)..1/28/9
2c100 38 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  8 (enhancement) 
2c110 50 65 72 66 6f 72 6d 61 6e 63 65 20 74 75 6e 69  Performance tuni
2c120 6e 67 20 6f 66 20 72 65 67 65 78 70 20 61 6e 64  ng of regexp and
2c130 20 72 65 67 73 75 62 2e 20 28 43 43 53 29 0a 0a   regsub. (CCS)..
2c140 31 2f 32 38 2f 39 38 20 28 62 75 67 20 66 69 78  1/28/98 (bug fix
2c150 29 20 72 65 67 65 78 70 20 61 6e 64 20 72 65 67  ) regexp and reg
2c160 73 75 62 20 77 69 74 68 20 22 2d 69 6e 64 69 63  sub with "-indic
2c170 65 73 22 20 72 65 74 75 72 6e 65 64 20 74 68 65  es" returned the
2c180 20 62 79 74 65 2d 6f 66 66 73 65 74 73 0a 6f 66   byte-offsets.of
2c190 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20   the characters 
2c1a0 69 6e 20 74 68 65 20 55 54 46 2d 38 20 72 65 70  in the UTF-8 rep
2c1b0 72 65 73 65 6e 74 61 74 69 6f 6e 2c 20 6e 6f 74  resentation, not
2c1c0 20 74 68 65 20 63 68 61 72 61 63 74 65 72 20 6f   the character o
2c1d0 66 66 73 65 74 73 0a 74 68 65 6d 73 65 6c 76 65  ffsets.themselve
2c1e0 73 2e 20 28 43 43 53 29 0a 0a 31 2f 32 38 2f 39  s. (CCS)..1/28/9
2c1f0 38 20 28 62 75 67 20 66 69 78 29 20 22 63 6c 6f  8 (bug fix) "clo
2c200 63 6b 20 66 6f 72 6d 61 74 20 30 20 2d 66 6f 72  ck format 0 -for
2c210 6d 61 74 20 25 5a 20 2d 67 6d 74 20 31 22 20 77  mat %Z -gmt 1" w
2c220 6f 75 6c 64 20 72 65 74 75 72 6e 20 74 68 65 20  ould return the 
2c230 6c 6f 63 61 6c 0a 74 69 6d 65 7a 6f 6e 65 20 73  local.timezone s
2c240 74 72 69 6e 67 20 69 6e 73 74 65 61 64 20 6f 66  tring instead of
2c250 20 22 47 4d 54 22 20 6f 6e 20 53 6f 6c 61 72 69   "GMT" on Solari
2c260 73 20 61 6e 64 20 57 69 6e 64 6f 77 73 2e 0a 0a  s and Windows...
2c270 31 2f 32 38 2f 39 38 20 28 62 75 67 20 66 69 78  1/28/98 (bug fix
2c280 29 20 52 65 73 74 6f 72 65 20 74 74 79 20 73 65  ) Restore tty se
2c290 74 74 69 6e 67 73 20 77 68 65 6e 20 63 6c 6f 73  ttings when clos
2c2a0 69 6e 67 20 73 65 72 69 61 6c 20 64 65 76 69 63  ing serial devic
2c2b0 65 20 6f 6e 20 55 6e 69 78 2e 0a 54 68 69 73 20  e on Unix..This 
2c2c0 69 73 20 67 6f 6f 64 20 62 65 68 61 76 69 6f 72  is good behavior
2c2d0 20 77 68 65 6e 20 63 6c 6f 73 69 6e 67 20 72 65   when closing re
2c2e0 61 6c 20 73 65 72 69 61 6c 20 64 65 76 69 63 65  al serial device
2c2f0 73 2c 20 65 73 73 65 6e 74 69 61 6c 20 77 68 65  s, essential whe
2c300 6e 0a 63 6c 6f 73 69 6e 67 20 74 68 65 20 70 73  n.closing the ps
2c310 65 75 64 6f 2d 64 65 76 69 63 65 20 2f 64 65 76  eudo-device /dev
2c320 2f 74 74 79 20 62 65 63 61 75 73 65 20 74 68 65  /tty because the
2c330 20 75 73 65 72 27 73 20 74 65 72 6d 69 6e 61 6c   user's terminal
2c340 20 73 65 74 74 69 6e 67 73 0a 77 6f 75 6c 64 20   settings.would 
2c350 62 65 20 6c 65 66 74 20 75 73 65 6c 65 73 73 2c  be left useless,
2c360 20 69 6e 20 72 61 77 20 6d 6f 64 65 2c 20 77 68   in raw mode, wh
2c370 65 6e 20 74 63 6c 20 71 75 69 74 2e 20 28 43 43  en tcl quit. (CC
2c380 53 29 0a 0a 31 2f 32 38 2f 39 38 20 28 62 75 67  S)..1/28/98 (bug
2c390 20 66 69 78 29 20 54 63 6c 5f 4f 70 65 6e 43 6f   fix) Tcl_OpenCo
2c3a0 6d 6d 61 6e 64 43 68 61 6e 6e 65 6c 28 29 20 77  mmandChannel() w
2c3b0 61 73 20 6d 6f 64 69 66 79 69 6e 67 20 74 68 65  as modifying the
2c3c0 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65   contents of the
2c3d0 0a 61 72 67 76 20 61 72 72 61 79 20 70 61 73 73  .argv array pass
2c3e0 65 64 20 74 6f 20 69 74 2c 20 63 61 75 73 69 6e  ed to it, causin
2c3f0 67 20 70 72 6f 62 6c 65 6d 73 20 66 6f 72 20 61  g problems for a
2c400 6e 79 20 63 61 6c 6c 65 72 20 74 68 61 74 20 77  ny caller that w
2c410 61 6e 74 65 64 20 74 6f 0a 63 6f 6e 74 69 6e 75  anted to.continu
2c420 65 20 74 6f 20 75 73 65 20 74 68 65 20 61 72 67  e to use the arg
2c430 76 20 61 72 72 61 79 20 61 66 74 65 72 20 63 61  v array after ca
2c440 6c 6c 69 6e 67 20 54 63 6c 5f 4f 70 65 6e 43 6f  lling Tcl_OpenCo
2c450 6d 6d 61 6e 64 43 68 61 6e 6e 65 6c 28 29 2e 20  mmandChannel(). 
2c460 28 43 43 53 29 0a 0a 32 2f 31 2f 39 38 20 28 62  (CCS)..2/1/98 (b
2c470 75 67 20 66 69 78 29 20 4d 6f 72 65 20 62 75 67  ug fix) More bug
2c480 73 20 77 69 74 68 20 25 5a 20 69 6e 20 66 6f 72  s with %Z in for
2c490 6d 61 74 20 73 74 72 69 6e 67 20 61 72 67 75 6d  mat string argum
2c4a0 65 6e 74 20 74 6f 20 73 74 72 66 74 69 6d 65 28  ent to strftime(
2c4b0 29 3a 0a 31 2e 20 42 6f 72 6c 61 6e 64 20 61 6c  ):.1. Borland al
2c4c0 77 61 79 73 20 72 65 74 75 72 6e 65 64 20 65 6d  ways returned em
2c4d0 70 74 79 20 73 74 72 69 6e 67 2e 0a 32 2e 20 4d  pty string..2. M
2c4e0 53 56 43 20 61 6c 77 61 79 73 20 72 65 74 75 72  SVC always retur
2c4f0 6e 65 64 20 74 68 65 20 74 69 6d 65 7a 6f 6e 65  ned the timezone
2c500 20 73 74 72 69 6e 67 20 66 6f 72 20 74 68 65 20   string for the 
2c510 63 75 72 72 65 6e 74 20 74 69 6d 65 2c 20 6e 6f  current time, no
2c520 74 20 74 68 65 0a 20 20 20 74 69 6d 65 7a 6f 6e  t the.   timezon
2c530 65 20 73 74 72 69 6e 67 20 66 6f 72 20 74 68 65  e string for the
2c540 20 73 70 65 63 69 66 69 65 64 20 74 69 6d 65 2e   specified time.
2c550 20 20 0a 33 2e 20 57 69 74 68 20 4d 53 56 43 2c    .3. With MSVC,
2c560 20 22 63 6c 6f 63 6b 20 66 6f 72 6d 61 74 20 30   "clock format 0
2c570 20 2d 66 6f 72 6d 61 74 20 25 5a 20 2d 67 6d 74   -format %Z -gmt
2c580 20 31 22 20 77 6f 75 6c 64 20 72 65 74 75 72 6e   1" would return
2c590 20 22 47 4d 54 22 20 74 68 65 20 66 69 72 73 74   "GMT" the first
2c5a0 0a 20 20 20 74 69 6d 65 20 69 74 20 77 61 73 20  .   time it was 
2c5b0 63 61 6c 6c 65 64 2c 20 62 75 74 20 77 6f 75 6c  called, but woul
2c5c0 64 20 72 65 74 75 72 6e 20 74 68 65 20 63 75 72  d return the cur
2c5d0 72 65 6e 74 20 74 69 6d 65 7a 6f 6e 65 20 73 74  rent timezone st
2c5e0 72 69 6e 67 20 6f 6e 20 61 6c 6c 0a 20 20 20 73  ring on all.   s
2c5f0 75 62 73 65 71 75 65 6e 74 20 63 61 6c 6c 73 2e  ubsequent calls.
2c600 20 28 43 43 53 29 0a 0a 32 2f 31 2f 39 38 20 28   (CCS)..2/1/98 (
2c610 62 75 67 20 66 69 78 29 20 22 66 69 6c 65 20 73  bug fix) "file s
2c620 74 61 74 22 20 77 61 73 20 62 72 6f 6b 65 6e 20  tat" was broken 
2c630 6f 6e 20 57 69 6e 64 6f 77 73 2e 0a 31 2e 20 22  on Windows..1. "
2c640 66 69 6c 65 20 73 74 61 74 22 20 6f 66 20 61 20  file stat" of a 
2c650 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 20 28  root directory (
2c660 6c 6f 63 61 6c 20 6f 72 20 6e 65 74 77 6f 72 6b  local or network
2c670 29 20 6f 72 20 61 20 72 65 6c 61 74 69 76 65 20  ) or a relative 
2c680 70 61 74 68 20 74 68 61 74 0a 20 20 20 72 65 73  path that.   res
2c690 6f 6c 76 65 64 20 74 6f 20 61 20 72 6f 6f 74 20  olved to a root 
2c6a0 64 69 72 65 63 74 6f 72 79 20 28 63 3a 2e 20 77  directory (c:. w
2c6b0 68 65 6e 20 69 6e 20 70 77 64 20 77 61 73 20 63  hen in pwd was c
2c6c0 3a 2f 29 20 77 61 73 20 72 65 74 75 72 6e 69 6e  :/) was returnin
2c6d0 67 20 65 72 72 6f 72 2e 0a 32 2e 20 22 66 69 6c  g error..2. "fil
2c6e0 65 20 73 74 61 74 22 20 6f 6e 20 61 20 72 65 67  e stat" on a reg
2c6f0 75 6c 61 72 20 66 69 6c 65 20 28 53 5f 49 46 52  ular file (S_IFR
2c700 45 47 29 2c 20 74 68 65 20 73 74 5f 6d 6f 64 65  EG), the st_mode
2c710 20 77 61 73 20 73 69 67 6e 20 65 78 74 65 6e 64   was sign extend
2c720 65 64 20 74 6f 0a 20 20 20 61 20 6e 65 67 61 74  ed to.   a negat
2c730 69 76 65 20 69 6e 74 20 69 66 20 74 68 65 20 70  ive int if the p
2c740 6c 61 74 66 6f 72 6d 2d 64 65 70 65 6e 64 61 6e  latform-dependan
2c750 74 20 74 79 70 65 20 22 6d 6f 64 65 5f 74 22 20  t type "mode_t" 
2c760 77 61 73 20 64 65 63 6c 61 72 65 64 20 61 73 20  was declared as 
2c770 61 0a 20 20 20 73 68 6f 72 74 20 69 6e 73 74 65  a.   short inste
2c780 61 64 20 6f 66 20 61 6e 20 75 6e 73 69 67 6e 65  ad of an unsigne
2c790 64 20 73 68 6f 72 74 2e 0a 33 2e 20 22 66 69 6c  d short..3. "fil
2c7a0 65 20 73 74 61 74 22 20 6f 66 20 61 20 6e 65 74  e stat" of a net
2c7b0 77 6f 72 6b 20 64 69 72 65 63 74 6f 72 79 2c 20  work directory, 
2c7c0 74 68 65 20 73 74 5f 64 65 76 20 77 61 73 20 69  the st_dev was i
2c7d0 6e 63 6f 72 72 65 63 74 6c 79 20 72 65 70 6f 72  ncorrectly repor
2c7e0 74 65 64 0a 20 20 20 61 73 20 74 68 65 20 69 64  ted.   as the id
2c7f0 20 6f 66 20 74 68 65 20 6c 61 73 74 20 61 63 63   of the last acc
2c800 65 73 73 65 64 20 6c 6f 63 61 6c 20 64 72 69 76  essed local driv
2c810 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 74 68  e rather than th
2c820 65 20 69 64 20 6f 66 20 74 68 65 0a 20 20 20 6e  e id of the.   n
2c830 65 74 77 6f 72 6b 20 64 72 69 76 65 2e 20 28 43  etwork drive. (C
2c840 43 53 29 0a 0a 32 2f 31 2f 39 38 20 28 62 75 67  CS)..2/1/98 (bug
2c850 20 66 69 78 29 20 22 66 69 6c 65 20 61 74 74 72   fix) "file attr
2c860 69 62 75 74 65 73 22 20 6f 66 20 61 20 72 65 6c  ibutes" of a rel
2c870 61 74 69 76 65 20 70 61 74 68 20 74 68 61 74 20  ative path that 
2c880 72 65 73 6f 6c 76 65 64 20 74 6f 20 61 0a 72 6f  resolved to a.ro
2c890 6f 74 20 64 69 72 65 63 74 6f 72 79 20 77 61 73  ot directory was
2c8a0 20 72 65 74 75 72 6e 69 6e 67 20 65 72 72 6f 72   returning error
2c8b0 2e 20 28 43 43 53 29 0a 0a 32 2f 31 2f 39 38 20  . (CCS)..2/1/98 
2c8c0 28 62 75 67 20 66 69 78 29 20 43 68 61 6e 67 65  (bug fix) Change
2c8d0 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 20 77   error message w
2c8e0 68 65 6e 20 22 66 69 6c 65 20 61 74 74 72 69 62  hen "file attrib
2c8f0 75 74 65 22 20 63 6f 75 6c 64 20 6e 6f 74 0a 64  ute" could not.d
2c900 65 74 65 72 6d 69 6e 65 20 74 68 65 20 61 74 74  etermine the att
2c910 72 69 62 75 74 65 73 20 66 6f 72 20 61 20 66 69  ributes for a fi
2c920 6c 65 2e 20 20 50 72 65 76 69 6f 75 73 6c 79 20  le.  Previously 
2c930 69 74 20 77 6f 75 6c 64 20 72 65 74 75 72 6e 20  it would return 
2c940 64 69 66 66 65 72 65 6e 74 0a 65 72 72 6f 72 20  different.error 
2c950 6d 65 73 73 61 67 65 73 20 6f 6e 20 55 6e 69 78  messages on Unix
2c960 20 76 73 2e 20 20 57 69 6e 64 6f 77 73 20 76 73   vs.  Windows vs
2c970 2e 20 4d 61 63 2e 20 28 43 43 53 29 0a 0a 32 2f  . Mac. (CCS)..2/
2c980 34 2f 39 38 20 28 62 75 67 20 66 69 78 65 73 29  4/98 (bug fixes)
2c990 20 46 69 78 65 64 20 73 65 76 65 72 61 6c 20 69   Fixed several i
2c9a0 6e 73 74 61 6e 63 65 73 20 6f 66 20 62 75 67 73  nstances of bugs
2c9b0 20 77 68 65 72 65 20 74 68 65 20 70 61 72 73 65   where the parse
2c9c0 72 2f 63 6f 6d 70 69 6c 65 72 20 0a 77 6f 75 6c  r/compiler .woul
2c9d0 64 20 72 65 61 63 68 20 6f 75 74 73 69 64 65 20  d reach outside 
2c9e0 74 68 65 20 72 61 6e 67 65 20 6f 66 20 61 6c 6c  the range of all
2c9f0 6f 63 61 74 65 64 20 6d 65 6d 6f 72 79 2e 20 49  ocated memory. I
2ca00 6d 70 72 6f 76 65 64 20 74 68 65 20 61 72 72 61  mproved the arra
2ca10 79 0a 6c 6f 6f 6b 75 70 20 61 6c 67 6f 72 69 74  y.lookup algorit
2ca20 68 6d 20 69 6e 20 73 65 74 20 63 6f 6d 70 69 6c  hm in set compil
2ca30 61 74 69 6f 6e 2e 20 28 44 4c 29 0a 0a 32 2f 35  ation. (DL)..2/5
2ca40 2f 39 38 20 28 63 68 61 6e 67 65 29 20 54 68 65  /98 (change) The
2ca50 20 54 43 4c 5f 50 41 52 53 45 5f 50 41 52 54 31   TCL_PARSE_PART1
2ca60 20 66 6c 61 67 20 66 6f 72 20 53 65 74 2f 47 65   flag for Set/Ge
2ca70 74 28 4f 62 6a 29 56 61 72 32 20 43 20 41 50 49  t(Obj)Var2 C API
2ca80 73 20 69 73 20 6e 6f 77 0a 64 65 70 72 65 63 61  s is now.depreca
2ca90 74 65 64 20 61 6e 64 20 69 67 6e 6f 72 65 64 2e  ted and ignored.
2caa0 20 54 68 65 20 70 61 72 74 31 20 69 73 20 61 6c   The part1 is al
2cab0 77 61 79 73 20 70 61 72 73 65 64 20 77 68 65 6e  ways parsed when
2cac0 20 74 68 65 20 70 61 72 74 32 20 61 72 67 75 6d   the part2 argum
2cad0 65 6e 74 0a 69 73 20 4e 55 4c 4c 2e 20 54 68 69  ent.is NULL. Thi
2cae0 73 20 69 73 20 74 6f 20 61 76 6f 69 64 20 61 20  s is to avoid a 
2caf0 70 61 74 74 65 72 6e 20 6f 66 20 65 72 72 6f 72  pattern of error
2cb00 73 20 66 6f 72 20 65 78 74 65 6e 73 69 6f 6e 20  s for extension 
2cb10 77 72 69 74 65 72 73 20 63 6f 6e 76 65 72 74 69  writers converti
2cb20 6e 67 0a 66 72 6f 6d 20 73 74 72 69 6e 67 20 62  ng.from string b
2cb30 61 73 65 64 20 54 63 6c 5f 53 65 74 56 61 72 28  ased Tcl_SetVar(
2cb40 29 20 74 6f 20 6e 65 77 20 54 63 6c 5f 53 65 74  ) to new Tcl_Set
2cb50 4f 62 6a 56 61 72 32 28 29 20 61 6e 64 20 77 68  ObjVar2() and wh
2cb60 6f 20 63 6f 75 6c 64 20 65 61 73 69 6c 79 0a 66  o could easily.f
2cb70 6f 72 67 65 74 20 74 6f 20 70 72 6f 76 69 64 65  orget to provide
2cb80 20 74 68 65 20 66 6c 61 67 20 61 6e 64 20 74 68   the flag and th
2cb90 75 73 20 67 65 74 20 63 6f 64 65 20 77 6f 72 6b  us get code work
2cba0 69 6e 67 20 66 6f 72 20 6e 6f 72 6d 61 6c 20 76  ing for normal v
2cbb0 61 72 69 61 62 6c 65 73 20 0a 62 75 74 20 6e 6f  ariables .but no
2cbc0 74 20 66 6f 72 20 61 72 72 61 79 20 65 6c 65 6d  t for array elem
2cbd0 65 6e 74 73 2e 20 54 68 65 20 70 65 72 66 6f 72  ents. The perfor
2cbe0 6d 61 6e 63 65 20 68 69 74 20 69 73 20 6d 69 6e  mance hit is min
2cbf0 69 6d 61 6c 2e 20 41 20 73 69 64 65 20 65 66 66  imal. A side eff
2cc00 65 63 74 0a 6f 66 20 74 68 61 74 20 63 68 61 6e  ect.of that chan
2cc10 67 65 20 69 73 20 74 68 61 74 20 69 73 20 69 73  ge is that is is
2cc20 20 6e 6f 20 6c 6f 6e 67 65 72 20 70 6f 73 73 69   no longer possi
2cc30 62 6c 65 20 74 6f 20 63 72 65 61 74 65 20 73 63  ble to create sc
2cc40 61 6c 61 72 20 76 61 72 69 61 62 6c 65 73 0a 74  alar variables.t
2cc50 68 61 74 20 63 61 6e 27 74 20 62 65 20 61 63 63  hat can't be acc
2cc60 65 73 73 65 64 20 62 79 20 74 63 6c 20 73 63 72  essed by tcl scr
2cc70 69 70 74 73 20 62 65 63 61 75 73 65 20 6f 66 20  ipts because of 
2cc80 74 68 65 69 72 20 69 6e 76 61 6c 69 64 20 6e 61  their invalid na
2cc90 6d 65 20 0a 28 65 6e 64 69 6e 67 20 77 69 74 68  me .(ending with
2cca0 20 70 61 72 65 6e 74 68 65 73 69 73 29 2e 20 4c   parenthesis). L
2ccb0 69 6b 65 77 69 73 65 20 69 74 20 69 73 20 61 6c  ikewise it is al
2ccc0 73 6f 20 70 61 72 73 65 64 20 61 6e 64 20 63 68  so parsed and ch
2ccd0 65 63 6b 65 64 20 74 6f 20 0a 65 6e 73 75 72 65  ecked to .ensure
2cce0 20 74 68 61 74 20 79 6f 75 20 64 6f 6e 27 74 20   that you don't 
2ccf0 63 72 65 61 74 65 20 61 72 72 61 79 20 65 6c 65  create array ele
2cd00 6d 65 6e 74 73 20 6f 66 20 61 72 72 61 79 20 77  ments of array w
2cd10 68 6f 73 65 20 6e 61 6d 65 20 69 73 20 61 20 76  hose name is a v
2cd20 61 6c 69 64 20 0a 61 72 72 61 79 20 65 6c 65 6d  alid .array elem
2cd30 65 6e 74 20 62 65 63 61 75 73 65 20 74 68 65 79  ent because they
2cd40 20 77 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 63   would not be ac
2cd50 63 65 73 73 69 62 6c 65 20 66 72 6f 6d 20 73 63  cessible from sc
2cd60 72 69 70 74 73 20 61 6e 79 77 61 79 2e 20 0a 4e  ripts anyway. .N
2cd70 6f 74 65 3a 20 54 68 65 72 65 20 69 73 20 73 74  ote: There is st
2cd80 69 6c 6c 20 64 75 70 6c 69 63 61 74 65 20 61 72  ill duplicate ar
2cd90 72 61 79 20 65 6c 65 6d 65 6e 74 73 20 70 61 72  ray elements par
2cda0 73 69 6e 67 20 63 6f 64 65 2e 20 28 44 4c 29 0a  sing code. (DL).
2cdb0 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e  *** POTENTIAL IN
2cdc0 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a  COMPATIBILITY **
2cdd0 2a 0a 0a 32 2f 31 31 2f 39 38 20 28 62 75 67 20  *..2/11/98 (bug 
2cde0 66 69 78 29 20 53 68 61 72 69 6e 67 20 6f 62 6a  fix) Sharing obj
2cdf0 65 63 74 73 20 62 65 74 77 65 65 6e 20 69 6e 74  ects between int
2ce00 65 72 70 73 2c 20 73 75 63 68 20 61 73 20 62 79  erps, such as by
2ce10 20 22 69 6e 74 65 72 70 0a 65 76 61 6c 22 20 6f   "interp.eval" o
2ce20 72 20 22 73 65 6e 64 22 20 63 6f 75 6c 64 20 63  r "send" could c
2ce30 61 75 73 65 20 61 20 63 72 61 73 68 20 6c 61 74  ause a crash lat
2ce40 65 72 20 77 68 65 6e 20 64 65 72 65 66 65 72 65  er when derefere
2ce50 6e 63 69 6e 67 20 61 6e 20 69 6e 74 65 72 70 0a  ncing an interp.
2ce60 74 68 61 74 20 68 61 64 20 62 65 65 6e 20 64 65  that had been de
2ce70 6c 65 74 65 64 2c 20 67 69 76 65 6e 20 63 6f 64  leted, given cod
2ce80 65 20 73 75 63 68 20 61 73 3a 0a 09 73 65 74 20  e such as:..set 
2ce90 61 20 7b 73 65 74 20 78 20 79 7d 0a 09 69 6e 74  a {set x y}..int
2cea0 65 72 70 20 63 72 65 61 74 65 20 66 6f 6f 0a 09  erp create foo..
2ceb0 69 6e 74 65 72 70 20 65 76 61 6c 20 66 6f 6f 20  interp eval foo 
2cec0 24 61 0a 09 69 6e 74 65 72 70 20 64 65 6c 65 74  $a..interp delet
2ced0 65 20 66 6f 6f 0a 09 75 6e 73 65 74 20 61 0a 49  e foo..unset a.I
2cee0 6e 74 65 72 70 20 22 66 6f 6f 22 20 77 61 73 20  nterp "foo" was 
2cef0 67 6f 6e 65 2c 20 62 75 74 20 22 61 22 20 68 61  gone, but "a" ha
2cf00 64 20 61 20 69 6e 74 65 72 6e 61 6c 20 72 65 70  d a internal rep
2cf10 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 62   consisting of b
2cf20 79 74 65 63 6f 64 65 73 0a 63 6f 6e 74 61 69 6e  ytecodes.contain
2cf30 69 6e 67 20 61 20 64 61 6e 67 6c 69 6e 67 20 70  ing a dangling p
2cf40 6f 69 6e 74 65 72 20 74 6f 20 22 66 6f 6f 22 2e  ointer to "foo".
2cf50 20 20 55 6e 73 65 74 74 69 6e 67 20 22 61 22 20    Unsetting "a" 
2cf60 77 6f 75 6c 64 20 61 74 74 65 6d 70 74 20 74 6f  would attempt to
2cf70 0a 72 65 74 75 72 6e 20 72 65 73 6f 75 72 63 65  .return resource
2cf80 73 20 62 61 63 6b 20 74 6f 20 22 66 6f 6f 22 2c  s back to "foo",
2cf90 20 63 61 75 73 69 6e 67 20 61 20 63 72 61 73 68   causing a crash
2cfa0 20 61 73 20 72 61 6e 64 6f 6d 20 6d 65 6d 6f 72   as random memor
2cfb0 79 20 77 61 73 0a 61 63 63 65 73 73 65 64 2e 20  y was.accessed. 
2cfc0 20 54 68 65 20 6c 65 73 73 6f 6e 20 69 73 20 74   The lesson is t
2cfd0 68 61 74 20 74 68 61 74 20 69 66 20 61 6e 20 6f  hat that if an o
2cfe0 62 6a 65 63 74 27 73 20 69 6e 74 65 72 6e 61 6c  bject's internal
2cff0 20 72 65 70 20 64 65 70 65 6e 64 73 20 6f 6e 0a   rep depends on.
2d000 61 6e 20 69 6e 74 65 72 70 20 28 6f 72 20 61 6e  an interp (or an
2d010 79 20 6f 74 68 65 72 20 64 61 74 61 20 73 74 72  y other data str
2d020 75 63 74 75 72 65 29 20 69 74 20 6d 75 73 74 20  ucture) it must 
2d030 70 72 65 73 65 72 76 65 20 74 68 61 74 20 64 61  preserve that da
2d040 74 61 20 69 6e 0a 73 6f 6d 65 20 66 61 73 68 69  ta in.some fashi
2d050 6f 6e 2e 20 28 43 43 53 29 0a 0a 32 2f 31 31 2f  on. (CCS)..2/11/
2d060 39 38 20 28 65 6e 68 61 6e 63 65 6d 65 6e 74 29  98 (enhancement)
2d070 20 54 68 65 20 22 69 6e 74 65 72 70 22 20 63 6f   The "interp" co
2d080 6d 6d 61 6e 64 20 77 61 73 20 72 65 74 75 72 6e  mmand was return
2d090 69 6e 67 20 69 6e 63 6f 6e 73 69 73 74 65 6e 74  ing inconsistent
2d0a0 20 65 72 72 6f 72 0a 6d 65 73 73 61 67 65 73 20   error.messages 
2d0b0 77 68 65 6e 20 74 68 65 20 73 70 65 63 69 66 69  when the specifi
2d0c0 65 64 20 73 6c 61 76 65 20 69 6e 74 65 72 70 20  ed slave interp 
2d0d0 63 6f 75 6c 64 20 6e 6f 74 20 62 65 20 66 6f 75  could not be fou
2d0e0 6e 64 2e 20 28 43 43 53 29 0a 0a 32 2f 31 31 2f  nd. (CCS)..2/11/
2d0f0 39 38 20 28 62 75 67 20 66 69 78 29 20 52 65 73  98 (bug fix) Res
2d100 75 6c 74 20 63 6f 64 65 73 20 6c 69 6b 65 20 54  ult codes like T
2d110 43 4c 5f 42 52 45 41 4b 20 61 6e 64 20 54 43 4c  CL_BREAK and TCL
2d120 5f 43 4f 4e 54 49 4e 55 45 20 77 65 72 65 20 6e  _CONTINUE were n
2d130 6f 74 0a 70 72 6f 70 61 67 61 74 69 6e 67 20 74  ot.propagating t
2d140 68 72 6f 75 67 68 20 74 68 65 20 6d 61 73 74 65  hrough the maste
2d150 72 2f 73 6c 61 76 65 20 69 6e 74 65 72 70 20 62  r/slave interp b
2d160 6f 75 6e 64 61 72 69 65 73 2c 20 73 75 63 68 20  oundaries, such 
2d170 61 73 20 22 69 6e 74 65 72 70 0a 65 76 61 6c 22  as "interp.eval"
2d180 20 61 6e 64 20 22 69 6e 74 65 72 70 20 61 6c 69   and "interp ali
2d190 61 73 22 2e 20 20 54 43 4c 5f 4f 4b 2c 20 54 43  as".  TCL_OK, TC
2d1a0 4c 5f 45 52 52 4f 52 2c 20 61 6e 64 20 6e 6f 6e  L_ERROR, and non
2d1b0 2d 73 74 61 6e 64 61 72 64 20 63 6f 64 65 73 20  -standard codes 
2d1c0 6c 69 6b 65 0a 74 65 68 20 69 6e 74 65 67 65 72  like.teh integer
2d1d0 20 35 37 20 77 6f 72 6b 2e 20 20 54 68 65 72 65   57 work.  There
2d1e0 20 69 73 20 73 74 69 6c 6c 20 61 20 71 75 65 73   is still a ques
2d1f0 74 69 6f 6e 20 61 73 20 74 6f 20 77 68 65 74 68  tion as to wheth
2d200 65 72 20 54 43 4c 5f 52 45 54 55 52 4e 0a 63 61  er TCL_RETURN.ca
2d210 6e 2f 73 68 6f 75 6c 64 20 70 72 6f 70 61 67 61  n/should propaga
2d220 74 65 2e 20 28 43 43 53 29 0a 0a 32 2f 31 31 2f  te. (CCS)..2/11/
2d230 39 38 20 28 62 75 67 20 66 69 78 29 20 54 63 6c  98 (bug fix) Tcl
2d240 43 6f 6d 70 69 6c 65 53 63 72 69 70 74 28 29 20  CompileScript() 
2d250 77 61 73 20 64 65 72 65 66 65 72 69 6e 67 20 6d  was derefering m
2d260 65 6d 6f 72 79 20 31 20 62 79 74 65 20 62 65 66  emory 1 byte bef
2d270 6f 72 65 0a 73 74 61 72 74 20 6f 66 20 74 68 65  ore.start of the
2d280 20 73 74 72 69 6e 67 20 74 6f 20 63 6f 6d 70 69   string to compi
2d290 6c 65 2c 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20  le, looking for 
2d2a0 27 5d 27 2e 20 28 43 43 53 2c 44 4c 29 0a 0a 32  ']'. (CCS,DL)..2
2d2b0 2f 31 31 2f 39 38 20 28 62 75 67 20 66 69 78 29  /11/98 (bug fix)
2d2c0 20 54 63 6c 5f 45 76 61 6c 32 28 29 20 77 61 73   Tcl_Eval2() was
2d2d0 20 64 65 72 65 66 65 72 69 6e 67 20 6d 65 6d 6f   derefering memo
2d2e0 72 79 20 31 20 62 79 74 65 20 62 65 66 6f 72 65  ry 1 byte before
2d2f0 20 73 74 61 72 74 0a 6f 66 20 74 68 65 20 73 74   start.of the st
2d300 72 69 6e 67 20 74 6f 20 65 76 61 6c 2c 20 6c 6f  ring to eval, lo
2d310 6f 6b 69 6e 67 20 66 6f 72 20 27 5d 27 2e 20 28  oking for ']'. (
2d320 43 43 53 2c 44 4c 29 0a 0a 32 2f 31 31 2f 39 38  CCS,DL)..2/11/98
2d330 20 28 62 75 67 20 66 69 78 29 20 43 6f 6d 70 69   (bug fix) Compi
2d340 6c 69 6e 67 20 22 73 65 74 20 61 28 62 22 20 77  ling "set a(b" w
2d350 61 73 20 72 75 6e 6e 69 6e 67 20 6f 66 66 20 65  as running off e
2d360 6e 64 20 6f 66 20 73 74 72 69 6e 67 2e 20 28 43  nd of string. (C
2d370 43 53 2c 44 4c 29 0a 0a 32 2f 31 31 2f 39 38 20  CS,DL)..2/11/98 
2d380 28 62 75 67 20 66 69 78 29 20 57 69 6e 64 6f 77  (bug fix) Window
2d390 73 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e  s initialization
2d3a0 20 63 6f 64 65 20 77 61 73 20 64 65 72 65 66 65   code was derefe
2d3b0 72 65 6e 63 69 6e 67 0a 75 6e 69 6e 69 74 69 61  rencing.uninitia
2d3c0 6c 69 7a 65 64 20 6d 65 6d 6f 72 79 20 69 66 20  lized memory if 
2d3d0 54 43 4c 5f 4c 49 42 52 41 52 59 20 65 6e 76 69  TCL_LIBRARY envi
2d3e0 72 6f 6e 6d 65 6e 74 20 64 69 64 6e 27 74 20 65  ronment didn't e
2d3f0 78 69 73 74 2e 20 28 43 43 53 29 0a 0a 32 2f 31  xist. (CCS)..2/1
2d400 31 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 57  1/98 (bug fix) W
2d410 69 6e 64 6f 77 73 20 22 72 65 67 69 73 74 72 79  indows "registry
2d420 22 20 63 6f 6d 6d 61 6e 64 20 77 61 73 20 64 65  " command was de
2d430 72 65 66 65 72 65 6e 63 69 6e 67 0a 75 6e 69 6e  referencing.unin
2d440 69 74 69 61 6c 69 7a 65 64 20 6d 65 6d 6f 72 79  itialized memory
2d450 20 77 68 65 6e 20 63 6f 6e 73 74 72 75 63 74 69   when constructi
2d460 6e 67 20 74 68 65 20 24 65 72 72 6f 72 43 6f 64  ng the $errorCod
2d470 65 20 66 6f 72 20 61 20 66 61 69 6c 65 64 0a 72  e for a failed.r
2d480 65 67 69 73 74 72 79 20 63 61 6c 6c 2e 20 28 43  egistry call. (C
2d490 43 53 29 0a 0a 32 2f 31 31 2f 39 38 20 28 65 6e  CS)..2/11/98 (en
2d4a0 68 61 6e 63 65 6d 65 6e 74 29 20 45 6c 69 6d 69  hancement) Elimi
2d4b0 6e 61 74 65 20 74 68 65 20 54 43 4c 5f 55 53 45  nate the TCL_USE
2d4c0 5f 54 49 4d 45 5a 4f 4e 45 5f 56 41 52 20 64 65  _TIMEZONE_VAR de
2d4d0 66 69 6e 69 74 69 6f 6e 20 66 72 6f 6d 0a 63 6f  finition from.co
2d4e0 6e 66 69 67 75 72 65 2e 69 6e 2c 20 62 65 63 61  nfigure.in, beca
2d4f0 75 73 65 20 69 74 20 77 61 73 20 74 68 65 20 73  use it was the s
2d500 61 6d 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20  ame information 
2d510 61 73 20 74 68 65 20 61 6c 72 65 61 64 79 20 65  as the already e
2d520 78 69 73 74 69 6e 67 0a 48 41 56 45 5f 54 4d 5f  xisting.HAVE_TM_
2d530 5a 4f 4e 45 20 64 65 66 69 6e 69 74 69 6f 6e 2e  ZONE definition.
2d540 20 20 54 68 65 20 6c 61 63 6b 20 6f 66 20 48 41    The lack of HA
2d550 56 45 5f 54 4d 5f 5a 4f 4e 45 20 69 73 20 75 73  VE_TM_ZONE is us
2d560 65 64 20 74 6f 20 77 6f 72 6b 20 61 72 6f 75 6e  ed to work aroun
2d570 64 20 61 0a 53 6f 6c 61 72 69 73 20 61 6e 64 20  d a.Solaris and 
2d580 57 69 6e 64 6f 77 73 20 62 75 67 20 77 68 65 72  Windows bug wher
2d590 65 20 22 63 6c 6f 63 6b 20 66 6f 72 6d 61 74 20  e "clock format 
2d5a0 5b 63 6c 6f 63 6b 20 73 65 63 5d 20 2d 66 6f 72  [clock sec] -for
2d5b0 6d 61 74 20 25 5a 20 2d 67 6d 74 20 31 22 20 0a  mat %Z -gmt 1" .
2d5c0 70 72 6f 64 75 63 65 73 20 74 68 65 20 6c 6f 63  produces the loc
2d5d0 61 6c 20 74 69 6d 65 7a 6f 6e 65 20 73 74 72 69  al timezone stri
2d5e0 6e 67 20 69 6e 73 74 65 61 64 20 6f 66 20 22 47  ng instead of "G
2d5f0 4d 54 22 2e 20 28 43 43 53 29 0a 0a 32 2f 31 31  MT". (CCS)..2/11
2d600 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 4d 65  /98 (bug fix) Me
2d610 6d 6c 65 61 6b 73 20 61 6e 64 20 64 65 72 65 66  mleaks and deref
2d620 65 72 65 6e 63 69 6e 67 20 6f 66 20 75 6e 69 6e  erencing of unin
2d630 69 74 69 61 6c 69 7a 65 64 20 6d 65 6d 6f 72 79  itialized memory
2d640 20 69 6e 0a 72 65 67 65 78 70 20 69 66 20 61 6e   in.regexp if an
2d650 20 65 72 72 6f 72 20 6f 63 63 75 72 72 65 64 20   error occurred 
2d660 77 68 69 6c 65 20 63 6f 6d 70 69 6c 69 6e 67 20  while compiling 
2d670 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73  a regular expres
2d680 73 69 6f 6e 2e 20 28 43 43 53 29 2e 0a 0a 32 2f  sion. (CCS)...2/
2d690 31 38 2f 39 38 20 28 6e 65 77 20 66 65 61 74 75  18/98 (new featu
2d6a0 72 65 29 20 41 64 64 65 64 20 6d 75 74 65 78 65  re) Added mutexe
2d6b0 73 20 61 6e 64 20 74 68 72 65 61 64 20 6c 6f 63  s and thread loc
2d6c0 61 6c 20 73 74 6f 72 61 67 65 20 69 6e 20 6f 72  al storage in or
2d6d0 64 65 72 0a 74 6f 20 6d 61 6b 65 20 54 63 6c 20  der.to make Tcl 
2d6e0 74 68 72 65 61 64 20 73 61 66 65 2e 20 20 46 6f  thread safe.  Fo
2d6f0 72 20 74 65 73 74 69 6e 67 20 70 75 72 70 6f 73  r testing purpos
2d700 65 73 2c 20 74 68 65 72 65 20 69 73 20 61 20 74  es, there is a t
2d710 65 73 74 74 68 72 65 61 64 0a 63 6f 6d 6d 61 6e  estthread.comman
2d720 64 20 74 68 61 74 20 63 72 65 61 74 65 73 20 61  d that creates a
2d730 20 6e 65 77 20 74 68 72 65 61 64 20 61 6e 64 20   new thread and 
2d740 61 6e 20 69 6e 74 65 72 70 72 65 74 65 72 20 69  an interpreter i
2d750 6e 73 69 64 65 20 69 74 2e 20 20 53 65 65 0a 74  nside it.  See.t
2d760 68 72 65 61 64 2e 74 65 73 74 20 66 6f 72 20 65  hread.test for e
2d770 78 61 6d 70 6c 65 73 2c 20 62 75 74 20 74 68 69  xamples, but thi
2d780 73 20 73 63 72 69 70 74 2d 6c 65 76 65 6c 20 69  s script-level i
2d790 6e 74 65 72 66 61 63 65 20 69 73 20 6e 6f 74 20  nterface is not 
2d7a0 66 69 78 65 64 2e 0a 45 61 63 68 20 74 68 72 65  fixed..Each thre
2d7b0 61 64 20 68 61 73 20 69 74 73 20 6f 77 6e 20 6e  ad has its own n
2d7c0 6f 74 69 66 69 65 72 20 69 6e 73 74 61 6e 63 65  otifier instance
2d7d0 20 74 6f 20 6d 61 6e 61 67 65 20 69 74 73 20 6f   to manage its o
2d7e0 77 6e 20 65 76 65 6e 74 73 2c 0a 61 6e 64 20 74  wn events,.and t
2d7f0 68 72 65 61 64 73 20 63 61 6e 20 70 6f 73 74 20  hreads can post 
2d800 6d 65 73 73 61 67 65 73 20 74 6f 20 65 61 63 68  messages to each
2d810 20 6f 74 68 65 72 27 73 20 6d 65 73 73 61 67 65   other's message
2d820 20 71 75 65 75 65 2e 0a 54 68 69 73 20 75 73 65   queue..This use
2d830 73 20 70 74 68 72 65 61 64 73 20 6f 6e 20 55 4e  s pthreads on UN
2d840 49 58 2c 20 61 6e 64 20 6e 61 74 69 76 65 20 74  IX, and native t
2d850 68 72 65 61 64 20 73 75 70 70 6f 72 74 20 6f 6e  hread support on
2d860 20 6f 74 68 65 72 20 70 6c 61 74 66 6f 72 6d 73   other platforms
2d870 2e 0a 59 6f 75 20 65 6e 61 62 6c 65 20 74 68 69  ..You enable thi
2d880 73 20 62 79 20 63 6f 6e 66 69 67 75 72 69 6e 67  s by configuring
2d890 20 77 69 74 68 20 2d 2d 65 6e 61 62 6c 65 2d 74   with --enable-t
2d8a0 68 72 65 61 64 73 2e 20 20 4e 6f 74 65 20 74 68  hreads.  Note th
2d8b0 61 74 20 61 74 0a 74 68 69 73 20 74 69 6d 65 20  at at.this time 
2d8c0 2a 54 6b 2a 20 69 73 20 73 74 69 6c 6c 20 6e 6f  *Tk* is still no
2d8d0 74 20 74 68 72 65 61 64 20 73 61 66 65 2e 20 53  t thread safe. S
2d8e0 70 65 63 69 61 6c 20 74 68 61 6e 6b 73 20 74 6f  pecial thanks to
2d8f0 0a 52 69 63 68 61 72 64 20 48 69 70 70 3a 20 68  .Richard Hipp: h
2d900 69 73 20 65 61 72 6c 69 65 72 20 69 6d 70 6c 65  is earlier imple
2d910 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 73 70 69 72  mentation inspir
2d920 65 64 20 74 68 69 73 20 77 6f 72 6b 2e 20 28 42  ed this work. (B
2d930 57 2c 20 53 53 2c 20 4a 49 29 0a 0a 32 2f 31 38  W, SS, JI)..2/18
2d940 2f 39 38 20 28 68 69 64 64 65 6e 20 66 65 61 74  /98 (hidden feat
2d950 75 72 65 20 63 68 61 6e 67 65 29 20 54 68 65 20  ure change) The 
2d960 77 61 79 20 74 68 65 20 65 6e 76 28 29 20 61 72  way the env() ar
2d970 72 61 79 20 69 73 20 73 68 61 72 65 64 20 61 6d  ray is shared am
2d980 6f 6e 67 0a 69 6e 74 65 72 70 72 65 74 65 72 73  ong.interpreters
2d990 20 63 68 61 6e 67 65 64 2e 20 20 55 70 64 61 74   changed.  Updat
2d9a0 65 73 20 74 6f 20 65 6e 76 20 75 73 65 64 20 74  es to env used t
2d9b0 6f 20 74 72 69 67 67 65 72 20 77 72 69 74 65 20  o trigger write 
2d9c0 74 72 61 63 65 73 20 69 6e 0a 6f 74 68 65 72 20  traces in.other 
2d9d0 69 6e 74 65 72 70 72 65 74 65 72 73 2e 20 20 54  interpreters.  T
2d9e0 68 69 73 20 75 6e 64 6f 63 75 6d 65 6e 74 65 64  his undocumented
2d9f0 20 66 65 61 74 75 72 65 20 69 73 20 6e 6f 20 6c   feature is no l
2da00 6f 6e 67 65 72 20 69 6d 70 6c 65 6d 65 6e 74 65  onger implemente
2da10 64 2e 0a 49 6e 73 74 65 61 64 2c 20 76 61 72 69  d..Instead, vari
2da20 61 62 6c 65 20 74 72 61 63 69 6e 67 20 69 73 20  able tracing is 
2da30 75 73 65 64 20 74 6f 20 6b 65 65 70 20 74 68 65  used to keep the
2da40 20 43 2d 6c 65 76 65 6c 20 65 6e 76 69 72 6f 6e   C-level environ
2da50 20 61 72 72 61 79 20 69 6e 20 73 79 6e 63 0a 77   array in sync.w
2da60 69 74 68 20 74 68 65 20 54 63 6c 2d 6c 65 76 65  ith the Tcl-leve
2da70 6c 20 65 6e 76 20 61 72 72 61 79 2e 20 54 68 69  l env array. Thi
2da80 73 20 72 65 71 75 69 72 65 64 20 61 64 64 69 6e  s required addin
2da90 67 20 54 43 4c 5f 54 52 41 43 45 5f 41 52 52 41  g TCL_TRACE_ARRA
2daa0 59 20 73 75 70 70 6f 72 74 0a 74 6f 20 54 63 6c  Y support.to Tcl
2dab0 5f 54 72 61 63 65 56 61 72 32 20 73 6f 20 74 68  _TraceVar2 so th
2dac0 61 74 20 61 72 72 61 79 20 6e 61 6d 65 73 20 77  at array names w
2dad0 6f 72 6b 73 20 70 72 6f 70 65 72 6c 79 2e 20 28  orks properly. (
2dae0 42 57 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41  BW).*** POTENTIA
2daf0 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54  L INCOMPATIBILIT
2db00 59 20 2a 2a 2a 0a 0a 32 2f 31 38 2f 39 38 20 28  Y ***..2/18/98 (
2db10 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 43 6f 6e  enhancement) Con
2db20 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 61  ditional compila
2db30 74 69 6f 6e 20 66 6f 72 20 75 6e 69 78 20 73 79  tion for unix sy
2db40 73 74 65 6d 73 20 28 65 2e 67 2e 2c 0a 49 52 49  stems (e.g.,.IRI
2db50 58 2c 20 53 43 4f 29 20 74 68 61 74 20 75 73 65  X, SCO) that use
2db60 20 66 5f 62 73 69 7a 65 20 69 6e 73 74 65 61 64   f_bsize instead
2db70 20 6f 66 20 73 74 5f 62 6c 6b 73 69 7a 65 20 74   of st_blksize t
2db80 6f 20 64 65 74 65 72 6d 69 6e 65 20 64 69 73 6b  o determine disk
2db90 20 62 6c 6f 63 6b 0a 73 69 7a 65 2e 20 28 43 43   block.size. (CC
2dba0 53 29 0a 0a 32 2f 32 33 2f 39 38 20 28 62 75 67  S)..2/23/98 (bug
2dbb0 20 66 69 78 29 20 46 69 78 65 64 20 74 68 65 20   fix) Fixed the 
2dbc0 65 6d 75 6c 61 74 69 6f 6e 20 6f 66 20 70 6f 6c  emulation of pol
2dbd0 6c 69 6e 67 20 73 65 6c 65 63 74 73 20 69 6e 20  ling selects in 
2dbe0 74 68 65 20 74 68 72 65 61 64 65 64 0a 76 65 72  the threaded.ver
2dbf0 73 69 6f 6e 20 6f 66 20 74 68 65 20 55 6e 69 78  sion of the Unix
2dc00 20 6e 6f 74 69 66 69 65 72 2e 20 20 54 68 65 20   notifier.  The 
2dc10 62 75 67 20 77 61 73 20 73 68 6f 77 69 6e 67 20  bug was showing 
2dc20 75 70 20 6f 6e 20 61 20 6d 75 6c 74 69 70 72 6f  up on a multipro
2dc30 63 65 73 73 6f 72 0a 61 73 20 73 74 61 72 76 61  cessor.as starva
2dc40 74 69 6f 6e 20 6f 66 20 74 68 65 20 6e 6f 74 69  tion of the noti
2dc50 66 69 65 72 20 74 68 72 65 61 64 2e 20 28 42 57  fier thread. (BW
2dc60 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  )..-------------
2dc70 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e  ---- Released 8.
2dc80 31 61 32 2c 20 46 65 62 20 32 33 20 31 39 39 38  1a2, Feb 23 1998
2dc90 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   ---------------
2dca0 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 39 2f 32 32 2f 39  --------..9/22/9
2dcb0 38 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e  8 (bug fix) Chan
2dcc0 67 65 64 20 74 68 65 20 76 61 6c 75 65 20 6f 66  ged the value of
2dcd0 20 54 43 4c 5f 54 52 41 43 45 5f 41 52 52 41 59   TCL_TRACE_ARRAY
2dce0 20 73 6f 20 69 74 20 6e 6f 20 6c 6f 6e 67 65 72   so it no longer
2dcf0 0a 63 6f 6e 66 6c 69 63 74 73 20 77 69 74 68 20  .conflicts with 
2dd00 74 68 65 20 64 65 70 72 65 63 61 74 65 64 20 54  the deprecated T
2dd10 43 4c 5f 50 41 52 53 45 5f 50 41 52 54 31 20 66  CL_PARSE_PART1 f
2dd20 6c 61 67 2e 20 20 54 68 69 73 20 73 68 6f 75 6c  lag.  This shoul
2dd30 64 0a 69 6d 70 72 6f 76 65 20 70 6f 72 74 61 62  d.improve portab
2dd40 69 6c 69 74 79 20 6f 66 20 43 20 63 6f 64 65 2e  ility of C code.
2dd50 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 30 2f 36   (stanton)..10/6
2dd60 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 54 68  /98 (bug fix) Th
2dd70 65 20 63 6f 6d 70 69 6c 65 20 70 72 6f 63 65 64  e compile proced
2dd80 75 72 65 20 66 6f 72 20 22 69 66 22 20 69 6e 63  ure for "if" inc
2dd90 6f 72 72 65 63 74 6c 79 20 61 74 74 65 6d 70 74  orrectly attempt
2dda0 65 64 0a 74 6f 20 6d 61 74 63 68 20 61 67 61 69  ed.to match agai
2ddb0 6e 73 74 20 74 68 65 20 6c 69 74 65 72 61 6c 20  nst the literal 
2ddc0 73 74 72 69 6e 67 20 22 69 66 22 2c 20 72 65 73  string "if", res
2ddd0 75 6c 74 69 6e 67 20 69 6e 20 61 20 73 74 61 63  ulting in a stac
2dde0 6b 0a 6f 76 65 72 66 6c 6f 77 20 77 68 65 6e 20  k.overflow when 
2ddf0 22 3a 3a 69 66 22 20 77 61 73 20 63 6f 6d 70 69  "::if" was compi
2de00 6c 65 64 2e 20 20 49 74 20 61 6c 73 6f 20 77 6f  led.  It also wo
2de10 75 6c 64 20 69 6e 63 6f 72 72 65 63 74 6c 79 20  uld incorrectly 
2de20 61 63 63 65 70 74 0a 22 69 66 22 20 69 6e 73 74  accept."if" inst
2de30 65 61 64 20 6f 66 20 22 65 6c 73 69 66 22 20 69  ead of "elsif" i
2de40 6e 20 6c 61 74 65 72 20 63 6c 61 75 73 65 73 2e  n later clauses.
2de50 20 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 30 2f    (stanton)..10/
2de60 31 35 2f 39 38 20 28 6e 65 77 20 66 65 61 74 75  15/98 (new featu
2de70 72 65 29 20 41 64 64 65 64 20 61 20 22 74 6f 74  re) Added a "tot
2de80 69 74 6c 65 22 20 73 75 62 63 6f 6d 6d 61 6e 64  itle" subcommand
2de90 20 74 6f 20 74 68 65 20 22 73 74 72 69 6e 67 22   to the "string"
2dea0 0a 63 6f 6d 6d 61 6e 64 20 74 6f 20 63 6f 6e 76  .command to conv
2deb0 65 72 74 20 73 74 72 69 6e 67 73 20 74 6f 20 63  ert strings to c
2dec0 61 70 69 74 61 6c 69 7a 65 20 74 68 65 20 66 69  apitalize the fi
2ded0 72 73 74 20 63 68 61 72 61 63 74 65 72 20 6f 66  rst character of
2dee0 20 61 20 73 74 72 69 6e 67 0a 61 6e 64 20 6c 6f   a string.and lo
2def0 77 65 72 63 61 73 65 20 61 6c 6c 20 6f 66 20 74  wercase all of t
2df00 68 65 20 6f 74 68 65 72 20 63 68 61 72 61 63 74  he other charact
2df10 65 72 73 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a  ers. (stanton)..
2df20 31 30 2f 31 35 2f 39 38 20 28 62 75 67 20 66 69  10/15/98 (bug fi
2df30 78 29 20 43 68 61 6e 67 65 64 20 72 65 67 65 78  x) Changed regex
2df40 70 20 61 6e 64 20 73 74 72 69 6e 67 20 63 6f 6d  p and string com
2df50 6d 61 6e 64 73 20 74 6f 20 70 72 6f 70 65 72 6c  mands to properl
2df60 79 0a 68 61 6e 64 6c 65 20 63 61 73 65 20 66 6f  y.handle case fo
2df70 6c 64 69 6e 67 20 61 63 63 6f 72 64 69 6e 67 20  lding according 
2df80 74 6f 20 74 68 65 20 55 6e 69 63 6f 64 65 20 63  to the Unicode c
2df90 68 61 72 61 63 74 65 72 0a 74 61 62 6c 65 73 2e  haracter.tables.
2dfa0 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 30 2f 32   (stanton)..10/2
2dfb0 31 2f 39 38 20 28 6e 65 77 20 66 65 61 74 75 72  1/98 (new featur
2dfc0 65 29 20 41 64 64 65 64 20 61 6e 20 22 65 6e 63  e) Added an "enc
2dfd0 6f 64 69 6e 67 22 20 63 6f 6d 6d 61 6e 64 20 74  oding" command t
2dfe0 6f 20 66 61 63 69 6c 69 74 61 74 65 0a 74 72 61  o facilitate.tra
2dff0 6e 73 6c 61 74 69 6f 6e 73 20 6f 66 20 73 74 72  nslations of str
2e000 69 6e 67 73 20 62 65 74 77 65 65 6e 20 64 69 66  ings between dif
2e010 66 65 72 65 6e 74 20 63 68 61 72 61 63 74 65 72  ferent character
2e020 20 65 6e 63 6f 64 69 6e 67 73 2e 20 20 53 65 65   encodings.  See
2e030 0a 74 68 65 20 65 6e 63 6f 64 69 6e 67 2e 6e 20  .the encoding.n 
2e040 6d 61 6e 75 61 6c 20 65 6e 74 72 79 20 66 6f 72  manual entry for
2e050 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 20 28   more details. (
2e060 73 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f 33 2f 39  stanton)..11/3/9
2e070 38 20 28 62 75 67 20 66 69 78 29 20 54 68 65 20  8 (bug fix) The 
2e080 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69  regular expressi
2e090 6f 6e 20 63 68 61 72 61 63 74 65 72 20 63 6c 61  on character cla
2e0a0 73 73 69 66 69 63 61 74 69 6f 6e 0a 73 79 6e 74  ssification.synt
2e0b0 61 78 20 6e 6f 77 20 69 6e 63 6c 75 64 65 73 20  ax now includes 
2e0c0 55 6e 69 63 6f 64 65 20 63 68 61 72 61 63 74 65  Unicode characte
2e0d0 72 73 20 69 6e 20 74 68 65 20 73 75 70 70 6f 72  rs in the suppor
2e0e0 74 65 64 0a 63 6c 61 73 73 65 73 2e 20 28 73 74  ted.classes. (st
2e0f0 61 6e 74 6f 6e 29 0a 0a 31 31 2f 36 2f 39 38 20  anton)..11/6/98 
2e100 28 62 75 67 20 66 69 78 29 20 56 61 72 69 61 62  (bug fix) Variab
2e110 6c 65 20 74 72 61 63 65 73 20 77 65 72 65 20 63  le traces were c
2e120 61 75 73 69 6e 67 20 63 72 61 73 68 65 73 20 77  ausing crashes w
2e130 68 65 6e 20 75 70 76 61 72 0a 76 61 72 69 61 62  hen upvar.variab
2e140 6c 65 73 20 77 65 6e 74 20 6f 75 74 20 6f 66 20  les went out of 
2e150 73 63 6f 70 65 2e 20 5b 42 75 67 3a 20 37 39 36  scope. [Bug: 796
2e160 5d 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f  ] (stanton)..11/
2e170 39 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 22  9/98 (bug fix) "
2e180 66 6f 72 6d 61 74 22 20 6e 6f 77 20 63 6f 72 72  format" now corr
2e190 65 63 74 6c 79 20 68 61 6e 64 6c 65 73 20 6d 75  ectly handles mu
2e1a0 6c 74 69 62 79 74 65 20 63 68 61 72 61 63 74 65  ltibyte characte
2e1b0 72 73 0a 69 6e 20 25 73 20 66 6f 72 6d 61 74 20  rs.in %s format 
2e1c0 73 74 72 69 6e 67 73 2e 20 28 73 74 61 6e 74 6f  strings. (stanto
2e1d0 6e 29 0a 0a 31 31 2f 31 30 2f 39 38 20 28 6e 65  n)..11/10/98 (ne
2e1e0 77 20 66 65 61 74 75 72 65 29 20 22 72 65 67 65  w feature) "rege
2e1f0 78 70 22 20 6e 6f 77 20 61 63 63 65 70 74 73 20  xp" now accepts 
2e200 74 68 72 65 65 20 6e 65 77 20 73 77 69 74 63 68  three new switch
2e210 65 73 0a 28 22 2d 6c 69 6e 65 22 2c 20 22 2d 6c  es.("-line", "-l
2e220 69 6e 65 61 6e 63 68 6f 72 22 2c 20 61 6e 64 20  ineanchor", and 
2e230 22 2d 6c 69 6e 65 73 74 6f 70 22 29 20 74 68 61  "-linestop") tha
2e240 74 20 63 6f 6e 74 72 6f 6c 20 68 6f 77 20 72 65  t control how re
2e250 67 75 6c 61 72 0a 65 78 70 72 65 73 73 69 6f 6e  gular.expression
2e260 73 20 74 72 65 61 74 20 6c 69 6e 65 20 62 72 65  s treat line bre
2e270 61 6b 73 2e 20 53 65 65 20 74 68 65 20 72 65 67  aks. See the reg
2e280 65 78 70 20 6d 61 6e 75 61 6c 20 65 6e 74 72 79  exp manual entry
2e290 20 66 6f 72 20 6d 6f 72 65 0a 64 65 74 61 69 6c   for more.detail
2e2a0 73 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 31  s. (stanton)..11
2e2b0 2f 31 37 2f 39 38 20 28 62 75 67 20 66 69 78 29  /17/98 (bug fix)
2e2c0 20 22 73 63 61 6e 22 20 6e 6f 77 20 63 6f 72 72   "scan" now corr
2e2d0 65 63 74 6c 79 20 68 61 6e 64 6c 65 73 20 55 6e  ectly handles Un
2e2e0 69 63 6f 64 65 0a 63 68 61 72 61 63 74 65 72 73  icode.characters
2e2f0 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f  . (stanton)..11/
2e300 31 37 2f 39 38 20 28 6e 65 77 20 66 65 61 74 75  17/98 (new featu
2e310 72 65 29 20 22 73 63 61 6e 22 20 6e 6f 77 20 73  re) "scan" now s
2e320 75 70 70 6f 72 74 73 20 58 50 47 33 20 70 6f 73  upports XPG3 pos
2e330 69 74 69 6f 6e 20 73 70 65 63 69 66 69 65 72 73  ition specifiers
2e340 0a 61 6e 64 20 74 68 65 20 22 25 6e 22 20 63 6f  .and the "%n" co
2e350 6e 76 65 72 73 69 6f 6e 20 63 68 61 72 61 63 74  nversion charact
2e360 65 72 2e 20 20 53 65 65 20 74 68 65 20 22 73 63  er.  See the "sc
2e370 61 6e 22 20 6d 61 6e 75 61 6c 20 65 6e 74 72 79  an" manual entry
2e380 20 66 6f 72 0a 6d 6f 72 65 20 64 65 74 61 69 6c   for.more detail
2e390 73 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 31  s. (stanton)..11
2e3a0 2f 31 37 2f 39 38 20 28 62 75 67 20 66 69 78 29  /17/98 (bug fix)
2e3b0 20 54 68 65 20 54 63 6c 20 6d 65 6d 6f 72 79 20   The Tcl memory 
2e3c0 61 6c 6c 6f 63 61 74 6f 72 20 6e 6f 77 20 72 65  allocator now re
2e3d0 74 75 72 6e 73 20 38 2d 62 79 74 65 20 61 6c 69  turns 8-byte ali
2e3e0 67 6e 65 64 0a 63 68 75 6e 6b 73 20 6f 66 20 6d  gned.chunks of m
2e3f0 65 6d 6f 72 79 20 77 68 69 63 68 20 69 6d 70 72  emory which impr
2e400 6f 76 65 73 20 70 65 72 66 6f 72 6d 61 6e 63 65  oves performance
2e410 20 6f 6e 20 57 69 6e 64 6f 77 73 20 61 6e 64 20   on Windows and 
2e420 61 76 6f 69 64 73 0a 63 72 61 73 68 65 73 20 6f  avoids.crashes o
2e430 6e 20 6f 74 68 65 72 20 70 6c 61 74 66 6f 72 6d  n other platform
2e440 73 2e 20 5b 42 75 67 3a 20 38 33 34 5d 20 28 73  s. [Bug: 834] (s
2e450 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f 32 33 2f 39  tanton)..11/23/9
2e460 38 20 28 62 75 67 20 66 69 78 29 20 41 70 70 6c  8 (bug fix) Appl
2e470 69 65 64 20 76 61 72 69 6f 75 73 20 72 65 67 75  ied various regu
2e480 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 70  lar expression p
2e490 65 72 66 6f 72 6d 61 6e 63 65 20 62 75 67 0a 66  erformance bug.f
2e4a0 69 78 65 73 20 73 75 70 70 6c 69 65 64 20 62 79  ixes supplied by
2e4b0 20 48 65 6e 72 79 20 53 70 65 6e 63 65 72 2e 20   Henry Spencer. 
2e4c0 28 73 74 61 6e 74 6f 6e 29 0a 0a 31 31 2f 33 30  (stanton)..11/30
2e4d0 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 46 69  /98 (bug fix) Fi
2e4e0 78 65 64 20 76 61 72 69 6f 75 73 20 74 68 72 65  xed various thre
2e4f0 61 64 20 72 65 6c 61 74 65 64 20 72 61 63 65 20  ad related race 
2e500 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 5b 42 75 67  conditions. [Bug
2e510 3a 0a 38 38 30 20 26 20 36 30 37 5d 20 28 73 74  :.880 & 607] (st
2e520 61 6e 74 6f 6e 29 0a 0a 31 31 2f 33 30 2f 39 38  anton)..11/30/98
2e530 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64   (bug fix) Fixed
2e540 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 6d 65 6d   a number of mem
2e550 6f 72 79 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64  ory overflow and
2e560 20 6c 65 61 6b 0a 62 75 67 73 2e 20 5b 42 75 67   leak.bugs. [Bug
2e570 3a 20 35 38 34 5d 20 28 73 74 61 6e 74 6f 6e 29  : 584] (stanton)
2e580 0a 0a 31 32 2f 31 2f 39 38 20 28 6e 65 77 20 66  ..12/1/98 (new f
2e590 65 61 75 72 65 29 20 41 64 64 65 64 20 73 75 70  eaure) Added sup
2e5a0 70 6f 72 74 20 66 6f 72 20 4b 6f 72 65 61 6e 20  port for Korean 
2e5b0 65 6e 63 6f 64 69 6e 67 73 2e 20 28 73 74 61 6e  encodings. (stan
2e5c0 74 6f 6e 29 0a 0a 31 32 2f 31 2f 39 38 20 28 66  ton)..12/1/98 (f
2e5d0 65 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 43  eature change) C
2e5e0 68 61 6e 67 65 64 20 74 68 65 20 54 63 6c 5f 45  hanged the Tcl_E
2e5f0 76 61 6c 4f 62 6a 76 20 69 6e 74 65 72 66 61 63  valObjv interfac
2e600 65 20 74 6f 20 72 65 6d 6f 76 65 0a 74 68 65 20  e to remove.the 
2e610 73 74 72 69 6e 67 20 61 6e 64 20 6c 65 6e 67 74  string and lengt
2e620 68 20 61 72 67 75 6d 65 6e 74 73 2e 0a 2a 2a 2a  h arguments..***
2e630 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
2e640 50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20  PATIBILITY with 
2e650 70 72 65 76 69 6f 75 73 20 61 6c 70 68 61 20 72  previous alpha r
2e660 65 6c 65 61 73 65 73 20 2a 2a 2a 0a 0a 31 32 2f  eleases ***..12/
2e670 32 2f 39 38 20 28 62 75 67 20 66 69 78 29 20 46  2/98 (bug fix) F
2e680 69 78 65 64 20 76 61 72 69 6f 75 73 20 62 75 67  ixed various bug
2e690 73 20 72 65 6c 61 74 65 64 20 74 6f 20 6c 69 6e  s related to lin
2e6a0 65 20 66 65 65 64 0a 74 72 61 6e 73 6c 61 74 69  e feed.translati
2e6b0 6f 6e 2e 20 5b 42 75 67 3a 20 38 38 37 5d 20 28  on. [Bug: 887] (
2e6c0 73 74 61 6e 74 6f 6e 29 0a 0a 31 32 2f 34 2f 39  stanton)..12/4/9
2e6d0 38 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  8 (new feature) 
2e6e0 41 64 64 65 64 20 61 20 6d 65 73 73 61 67 65 20  Added a message 
2e6f0 63 61 74 61 6c 6f 67 20 66 61 63 69 6c 69 74 79  catalog facility
2e700 20 74 6f 20 68 65 6c 70 20 77 69 74 68 0a 6c 6f   to help with.lo
2e710 63 61 6c 69 7a 69 6e 67 20 54 63 6c 20 73 63 72  calizing Tcl scr
2e720 69 70 74 73 2e 20 20 54 68 61 6e 6b 73 20 74 6f  ipts.  Thanks to
2e730 20 4d 61 72 6b 20 48 61 72 72 69 73 6f 6e 20 66   Mark Harrison f
2e740 6f 72 20 63 6f 6e 74 72 69 62 75 74 69 6e 67 20  or contributing 
2e750 74 68 65 0a 69 6e 69 74 69 61 6c 20 69 6d 70 6c  the.initial impl
2e760 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68  ementation of th
2e770 65 20 22 6d 73 67 63 61 74 22 20 70 61 63 6b 61  e "msgcat" packa
2e780 67 65 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 31  ge. (stanton)..1
2e790 32 2f 37 2f 39 38 20 28 62 75 67 20 66 69 78 29  2/7/98 (bug fix)
2e7a0 20 54 68 65 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f   The memory allo
2e7b0 63 61 74 6f 72 20 77 61 73 20 66 61 69 6c 69 6e  cator was failin
2e7c0 67 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 0a  g to update the.
2e7d0 62 6c 6f 63 6b 20 6c 69 73 74 20 66 6f 72 20 6c  block list for l
2e7e0 61 72 67 65 20 6d 65 6d 6f 72 79 20 62 6c 6f 63  arge memory bloc
2e7f0 6b 73 20 74 68 61 74 20 77 65 72 65 20 72 65 61  ks that were rea
2e800 6c 6c 6f 63 61 74 65 64 20 69 6e 74 6f 20 61 0a  llocated into a.
2e810 64 69 66 66 65 72 65 6e 74 20 61 64 64 72 65 73  different addres
2e820 73 2e 20 5b 42 75 67 3a 20 39 33 33 5d 20 28 73  s. [Bug: 933] (s
2e830 74 61 6e 74 6f 6e 29 0a 0a 2d 2d 2d 2d 2d 2d 2d  tanton)..-------
2e840 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
2e850 73 65 64 20 38 2e 31 62 31 2c 20 44 65 63 20 31  sed 8.1b1, Dec 1
2e860 30 20 31 39 39 38 20 2d 2d 2d 2d 2d 2d 2d 2d 2d  0 1998 ---------
2e870 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a  --------------..
2e880 31 32 2f 32 32 2f 39 38 20 28 70 65 72 66 6f 72  12/22/98 (perfor
2e890 6d 61 6e 63 65 20 69 6d 70 72 6f 76 65 6d 65 6e  mance improvemen
2e8a0 74 29 20 49 6d 70 72 6f 76 65 64 20 74 68 65 20  t) Improved the 
2e8b0 2d 63 6f 6d 6d 61 6e 64 20 6f 70 74 69 6f 6e 20  -command option 
2e8c0 6f 66 20 74 68 65 0a 6c 73 6f 72 74 20 63 6f 6d  of the.lsort com
2e8d0 6d 61 6e 64 20 74 6f 20 62 65 74 74 65 72 20 75  mand to better u
2e8e0 73 65 20 74 68 65 20 6f 62 6a 65 63 74 20 73 79  se the object sy
2e8f0 73 74 65 6d 20 66 6f 72 20 69 6d 70 72 6f 76 65  stem for improve
2e900 64 0a 70 65 72 66 6f 72 6d 61 6e 63 65 20 28 61  d.performance (a
2e910 62 6f 75 74 20 35 78 20 73 70 65 65 64 20 75 70  bout 5x speed up
2e920 29 2e 20 20 54 68 61 6e 6b 73 20 74 6f 20 53 79  ).  Thanks to Sy
2e930 64 20 50 6f 6c 6b 20 66 6f 72 20 73 75 70 70 6c  d Polk for suppl
2e940 69 6e 67 20 74 68 65 0a 70 61 74 63 68 2e 20 5b  ing the.patch. [
2e950 52 46 45 3a 20 37 32 36 5d 20 28 72 6a 6f 68 6e  RFE: 726] (rjohn
2e960 73 6f 6e 29 0a 0a 32 2f 31 30 2f 39 39 20 28 62  son)..2/10/99 (b
2e970 75 67 20 66 69 78 29 20 52 65 73 74 6f 72 65 64  ug fix) Restored
2e980 20 74 68 65 20 54 63 6c 5f 4f 62 6a 53 65 74 56   the Tcl_ObjSetV
2e990 61 72 32 2f 54 63 6c 5f 4f 62 6a 47 65 74 56 61  ar2/Tcl_ObjGetVa
2e9a0 72 32 0a 69 6e 74 65 72 66 61 63 65 73 20 66 72  r2.interfaces fr
2e9b0 6f 6d 20 38 2e 30 20 61 6e 64 20 72 65 6e 61 6d  om 8.0 and renam
2e9c0 65 64 20 74 68 65 20 54 63 6c 5f 47 65 74 4f 62  ed the Tcl_GetOb
2e9d0 6a 56 61 72 32 2f 54 63 6c 5f 53 65 74 4f 62 6a  jVar2/Tcl_SetObj
2e9e0 56 61 72 32 0a 69 6e 74 65 72 66 61 63 65 73 20  Var2.interfaces 
2e9f0 74 6f 20 54 63 6c 5f 47 65 74 56 61 72 32 45 78  to Tcl_GetVar2Ex
2ea00 20 61 6e 64 20 54 63 6c 5f 53 65 74 56 61 72 32   and Tcl_SetVar2
2ea10 45 78 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64  Ex.  This should
2ea20 20 70 72 6f 76 69 64 65 0a 62 65 74 74 65 72 20   provide.better 
2ea30 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69  compatibility wi
2ea40 74 68 20 38 2e 30 2e 20 28 73 74 61 6e 74 6f 6e  th 8.0. (stanton
2ea50 29 0a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20  ).*** POTENTIAL 
2ea60 49 4e 43 4f 4d 50 41 54 49 42 49 4c 49 54 59 20  INCOMPATIBILITY 
2ea70 77 69 74 68 20 70 72 65 76 69 6f 75 73 20 61 6c  with previous al
2ea80 70 68 61 2f 62 65 74 61 20 72 65 6c 65 61 73 65  pha/beta release
2ea90 73 20 2a 2a 2a 0a 0a 32 2f 31 30 2f 39 39 20 28  s ***..2/10/99 (
2eaa0 62 75 67 20 66 69 78 29 20 4d 61 64 65 20 74 68  bug fix) Made th
2eab0 65 20 65 76 61 6c 20 69 6e 74 65 72 66 61 63 65  e eval interface
2eac0 73 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74  s compatible wit
2ead0 68 20 38 2e 30 20 62 79 0a 72 65 6e 61 6d 69 6e  h 8.0 by.renamin
2eae0 67 20 54 63 6c 5f 45 76 61 6c 4f 62 6a 20 74 6f  g Tcl_EvalObj to
2eaf0 20 54 63 6c 5f 45 76 61 6c 4f 62 6a 45 78 2c 20   Tcl_EvalObjEx, 
2eb00 72 65 6e 61 6d 69 6e 67 20 54 63 6c 5f 45 76 61  renaming Tcl_Eva
2eb10 6c 32 20 74 6f 0a 54 63 6c 5f 45 76 61 6c 45 78  l2 to.Tcl_EvalEx
2eb20 20 61 6e 64 20 72 65 73 74 6f 72 69 6e 67 20 54   and restoring T
2eb30 63 6c 5f 45 76 61 6c 4f 62 6a 20 61 6e 64 20 54  cl_EvalObj and T
2eb40 63 6c 5f 47 6c 6f 62 61 6c 45 76 61 6c 4f 62 6a  cl_GlobalEvalObj
2eb50 20 69 6e 74 65 72 66 61 63 65 73 0a 73 6f 20 74   interfaces.so t
2eb60 68 65 79 20 6d 61 74 63 68 20 54 63 6c 20 38 2e  hey match Tcl 8.
2eb70 30 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 2a 2a 2a  0. (stanton).***
2eb80 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d   POTENTIAL INCOM
2eb90 50 41 54 49 42 49 4c 49 54 59 20 77 69 74 68 20  PATIBILITY with 
2eba0 70 72 65 76 69 6f 75 73 20 61 6c 70 68 61 2f 62  previous alpha/b
2ebb0 65 74 61 20 72 65 6c 65 61 73 65 73 20 2a 2a 2a  eta releases ***
2ebc0 0a 0a 32 2f 32 35 2f 39 39 20 28 62 75 67 20 66  ..2/25/99 (bug f
2ebd0 69 78 2f 6e 65 77 20 66 65 61 74 75 72 65 29 20  ix/new feature) 
2ebe0 4f 6e 20 57 69 6e 64 6f 77 73 2c 20 74 68 65 20  On Windows, the 
2ebf0 63 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 73 20  channel drivers 
2ec00 66 6f 72 0a 63 6f 6e 73 6f 6c 65 73 20 61 6e 64  for.consoles and
2ec10 20 73 65 72 69 61 6c 20 70 6f 72 74 73 20 6e 6f   serial ports no
2ec20 77 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73 75 70  w completely sup
2ec30 70 6f 72 74 20 66 69 6c 65 20 65 76 65 6e 74 73  port file events
2ec40 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 33 2f 35 2f  . (redman)..3/5/
2ec50 39 39 20 28 62 75 67 20 66 69 78 29 20 49 6e 74  99 (bug fix) Int
2ec60 65 67 72 61 74 65 64 20 70 61 74 63 68 65 73 20  egrated patches 
2ec70 74 6f 20 66 69 78 20 76 61 72 69 6f 75 73 20 63  to fix various c
2ec80 6f 6e 66 69 67 75 72 65 20 70 72 6f 62 6c 65 6d  onfigure problem
2ec90 73 0a 74 68 61 74 20 61 66 66 65 63 74 65 64 20  s.that affected 
2eca0 48 50 2d 55 58 2d 31 31 2c 20 36 34 2d 62 69 74  HP-UX-11, 64-bit
2ecb0 20 49 52 49 58 2c 20 4c 69 6e 75 78 2c 20 61 6e   IRIX, Linux, an
2ecc0 64 20 53 6f 6c 61 72 69 73 2e 20 28 73 74 61 6e  d Solaris. (stan
2ecd0 74 6f 6e 29 0a 0a 33 2f 39 2f 39 39 20 28 62 75  ton)..3/9/99 (bu
2ece0 67 20 66 69 78 29 20 49 6e 74 65 67 72 61 74 65  g fix) Integrate
2ecf0 64 20 76 61 72 69 6f 75 73 20 41 49 58 20 72 65  d various AIX re
2ed00 6c 61 74 65 64 20 70 61 74 63 68 65 73 20 74 6f  lated patches to
2ed10 20 69 6d 70 72 6f 76 65 0a 73 75 70 70 6f 72 74   improve.support
2ed20 20 66 6f 72 20 73 68 61 72 65 64 20 6c 69 62 72   for shared libr
2ed30 61 72 69 65 73 2e 20 28 73 74 61 6e 74 6f 6e 29  aries. (stanton)
2ed40 0a 0a 33 2f 39 2f 39 39 20 28 6e 65 77 20 66 65  ..3/9/99 (new fe
2ed50 61 74 75 72 65 29 20 41 64 64 65 64 20 74 63 6c  ature) Added tcl
2ed60 5f 70 6c 61 74 66 6f 72 6d 28 75 73 65 72 29 20  _platform(user) 
2ed70 74 6f 20 70 72 6f 76 69 64 65 20 61 20 70 6f 72  to provide a por
2ed80 74 61 62 6c 65 0a 77 61 79 20 74 6f 20 67 65 74  table.way to get
2ed90 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65   the name of the
2eda0 20 63 75 72 72 65 6e 74 20 75 73 65 72 2e 20 28   current user. (
2edb0 77 65 6c 63 68 29 0a 0a 33 2f 39 2f 39 39 20 28  welch)..3/9/99 (
2edc0 6e 65 77 20 66 65 61 74 75 72 65 29 20 49 6e 74  new feature) Int
2edd0 65 67 72 61 74 65 64 20 74 68 65 20 73 74 75 62  egrated the stub
2ede0 20 6c 69 62 72 61 72 79 20 6d 65 63 68 61 6e 69   library mechani
2edf0 73 6d 20 63 6f 6e 74 72 69 62 75 74 65 64 0a 62  sm contributed.b
2ee00 79 20 4a 61 6e 20 4e 69 6a 74 6d 61 6e 73 2c 20  y Jan Nijtmans, 
2ee10 50 61 75 6c 20 44 75 66 66 69 6e 2c 20 61 6e 64  Paul Duffin, and
2ee20 20 4a 65 61 6e 2d 43 6c 61 75 64 65 20 57 69 70   Jean-Claude Wip
2ee30 70 6c 65 72 2e 20 20 54 68 69 73 20 66 65 61 74  pler.  This feat
2ee40 75 72 65 0a 73 68 6f 75 6c 64 20 6d 61 6b 65 20  ure.should make 
2ee50 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 77  it possible to w
2ee60 72 69 74 65 20 65 78 74 65 6e 73 69 6f 6e 73 20  rite extensions 
2ee70 74 68 61 74 20 73 75 70 70 6f 72 74 20 6d 75 6c  that support mul
2ee80 74 69 70 6c 65 0a 76 65 72 73 69 6f 6e 73 20 6f  tiple.versions o
2ee90 66 20 54 63 6c 20 73 69 6d 75 6c 74 61 6e 65 6f  f Tcl simultaneo
2eea0 75 73 6c 79 2e 20 20 49 74 20 61 6c 73 6f 20 6d  usly.  It also m
2eeb0 61 6b 65 73 20 69 74 20 70 6f 73 73 69 62 6c 65  akes it possible
2eec0 20 74 6f 0a 64 79 6e 61 6d 69 63 61 6c 6c 79 20   to.dynamically 
2eed0 6c 6f 61 64 20 65 78 74 65 6e 73 69 6f 6e 73 20  load extensions 
2eee0 69 6e 74 6f 20 73 74 61 74 69 63 61 6c 6c 79 20  into statically 
2eef0 6c 69 6e 6b 65 64 20 69 6e 74 65 72 70 72 65 74  linked interpret
2ef00 65 72 73 2e 20 20 54 68 69 73 0a 70 61 74 63 68  ers.  This.patch
2ef10 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 66 6f   includes the fo
2ef20 6c 6c 6f 77 69 6e 67 20 63 68 61 6e 67 65 73 3a  llowing changes:
2ef30 0a 20 20 20 20 20 20 2d 09 41 64 64 65 64 20 61  .      -.Added a
2ef40 20 54 63 6c 5f 49 6e 69 74 53 74 75 62 73 28 29   Tcl_InitStubs()
2ef50 20 69 6e 74 65 72 66 61 63 65 0a 20 20 20 20 20   interface.     
2ef60 20 2d 09 41 64 64 65 64 20 54 63 6c 5f 50 6b 67   -.Added Tcl_Pkg
2ef70 50 72 6f 76 69 64 65 45 78 2c 20 54 63 6c 5f 50  ProvideEx, Tcl_P
2ef80 6b 67 52 65 71 75 69 72 65 45 78 2c 20 54 63 6c  kgRequireEx, Tcl
2ef90 5f 50 6b 67 50 72 65 73 65 6e 74 45 78 2c 0a 20  _PkgPresentEx,. 
2efa0 20 20 20 20 20 09 61 6e 64 20 54 63 6c 5f 50 6b       .and Tcl_Pk
2efb0 67 50 72 65 73 65 6e 74 2e 0a 20 20 20 20 20 20  gPresent..      
2efc0 2d 20 41 64 64 65 64 20 76 61 5f 6c 69 73 74 20  - Added va_list 
2efd0 76 65 72 73 69 6f 6e 73 20 6f 66 20 61 6c 6c 20  versions of all 
2efe0 56 41 52 41 52 47 53 20 66 75 6e 63 74 69 6f 6e  VARARGS function
2eff0 73 20 73 6f 20 74 68 65 79 20 63 61 6e 20 62 65  s so they can be
2f000 0a 09 69 6e 76 6f 6b 65 64 20 66 72 6f 6d 20 77  ..invoked from w
2f010 72 61 70 70 65 72 20 66 75 6e 63 74 69 6f 6e 73  rapper functions
2f020 2e 0a 53 65 65 20 74 68 65 20 6d 61 6e 75 61 6c  ..See the manual
2f030 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d   for more inform
2f040 61 74 69 6f 6e 2e 20 28 73 74 61 6e 74 6f 6e 29  ation. (stanton)
2f050 0a 0a 0a 33 2f 31 30 2f 39 39 20 28 66 65 61 74  ...3/10/99 (feat
2f060 75 72 65 20 63 68 61 6e 67 65 29 20 52 65 70 6c  ure change) Repl
2f070 61 63 65 64 20 54 63 6c 5f 41 6c 65 72 74 4e 6f  aced Tcl_AlertNo
2f080 74 69 66 69 65 72 20 77 69 74 68 0a 54 63 6c 5f  tifier with.Tcl_
2f090 54 68 72 65 61 64 41 6c 65 72 74 20 73 69 6e 63  ThreadAlert sinc
2f0a0 65 20 74 68 65 20 54 63 6c 5f 41 6c 65 72 74 4e  e the Tcl_AlertN
2f0b0 6f 74 69 66 69 65 72 20 66 75 6e 63 74 69 6f 6e  otifier function
2f0c0 20 72 65 6c 69 65 64 20 6f 6e 20 70 61 73 73 69   relied on passi
2f0d0 6e 67 0a 69 6e 74 65 72 6e 61 6c 20 64 61 74 61  ng.internal data
2f0e0 20 73 74 72 75 63 74 75 72 65 73 2e 20 28 73 74   structures. (st
2f0f0 61 6e 74 6f 6e 29 0a 2a 2a 2a 20 50 4f 54 45 4e  anton).*** POTEN
2f100 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49  TIAL INCOMPATIBI
2f110 4c 49 54 59 20 77 69 74 68 20 70 72 65 76 69 6f  LITY with previo
2f120 75 73 20 61 6c 70 68 61 2f 62 65 74 61 20 72 65  us alpha/beta re
2f130 6c 65 61 73 65 73 20 2a 2a 2a 0a 0a 33 2f 31 30  leases ***..3/10
2f140 2f 39 39 20 28 6e 65 77 20 66 65 61 74 75 72 65  /99 (new feature
2f150 29 20 41 64 64 65 64 20 61 20 54 63 6c 5f 47 65  ) Added a Tcl_Ge
2f160 74 56 65 72 73 69 6f 6e 20 41 50 49 20 74 6f 20  tVersion API to 
2f170 6d 61 6b 65 20 69 74 20 65 61 73 69 65 72 20 74  make it easier t
2f180 6f 0a 63 68 65 63 6b 20 74 68 65 20 54 63 6c 20  o.check the Tcl 
2f190 76 65 72 73 69 6f 6e 20 61 6e 64 20 70 61 74 63  version and patc
2f1a0 68 20 6c 65 76 65 6c 20 66 72 6f 6d 20 43 2e 20  h level from C. 
2f1b0 28 72 65 64 6d 61 6e 29 0a 0a 33 2f 31 34 2f 39  (redman)..3/14/9
2f1c0 39 20 28 66 65 61 74 75 72 65 20 63 68 61 6e 67  9 (feature chang
2f1d0 65 29 20 54 72 69 65 64 20 74 6f 20 75 6e 69 66  e) Tried to unif
2f1e0 79 20 74 68 65 20 54 63 6c 70 49 6e 69 74 4c 69  y the TclpInitLi
2f1f0 62 72 61 72 79 20 70 61 74 68 0a 72 6f 75 74 69  brary path.routi
2f200 6e 65 73 20 74 6f 20 6c 6f 6f 6b 20 69 6e 20 73  nes to look in s
2f210 69 6d 69 6c 61 72 20 70 6c 61 63 65 73 20 66 72  imilar places fr
2f220 6f 6d 20 57 69 6e 64 6f 77 73 20 74 6f 20 55 4e  om Windows to UN
2f230 49 58 2e 20 20 54 68 65 20 6e 65 77 0a 6c 69 62  IX.  The new.lib
2f240 72 61 72 79 20 73 65 61 72 63 68 20 70 61 74 68  rary search path
2f250 20 69 73 3a 20 54 43 4c 5f 4c 49 42 52 41 52 59   is: TCL_LIBRARY
2f260 2c 20 54 43 4c 5f 4c 49 42 52 41 52 59 2f 2e 2e  , TCL_LIBRARY/..
2f270 2f 74 63 6c 38 2e 31 2c 20 72 65 6c 61 74 69 76  /tcl8.1, relativ
2f280 65 0a 74 6f 20 44 4c 4c 20 28 57 69 6e 64 6f 77  e.to DLL (Window
2f290 73 20 4f 6e 6c 79 29 20 72 65 6c 61 74 69 76 65  s Only) relative
2f2a0 20 74 6f 20 69 6e 73 74 61 6c 6c 65 64 20 65 78   to installed ex
2f2b0 65 63 75 74 61 62 6c 65 2c 20 72 65 6c 61 74 69  ecutable, relati
2f2c0 76 65 20 74 6f 0a 64 65 76 65 6c 6f 70 20 65 78  ve to.develop ex
2f2d0 65 63 75 74 61 62 6c 65 2c 20 61 6e 64 20 72 65  ecutable, and re
2f2e0 6c 61 74 69 76 65 20 74 6f 20 63 6f 6d 70 69 6c  lative to compil
2f2f0 65 64 2d 69 6e 20 69 6e 20 6c 6f 63 61 74 69 6f  ed-in in locatio
2f300 6e 20 28 55 4e 49 58 0a 4f 6e 6c 79 2e 29 20 20  n (UNIX.Only.)  
2f310 54 68 69 73 20 66 69 78 20 69 6e 63 6c 75 64 65  This fix include
2f320 64 3a 0a 20 20 20 20 2d 20 44 65 66 69 6e 69 6e  d:.    - Definin
2f330 67 20 61 20 54 63 6c 70 46 69 6e 64 45 78 65 63  g a TclpFindExec
2f340 75 74 61 62 6c 65 0a 20 20 20 20 2d 20 4d 6f 76  utable.    - Mov
2f350 69 6e 67 20 54 63 6c 5f 46 69 6e 64 45 78 65 63  ing Tcl_FindExec
2f360 75 74 61 62 6c 65 20 74 6f 20 61 20 63 6f 6d 6d  utable to a comm
2f370 6f 6e 20 61 72 65 61 20 69 6e 20 74 63 6c 45 6e  on area in tclEn
2f380 63 6f 64 69 6e 67 2e 63 0a 20 20 20 20 2d 20 4d  coding.c.    - M
2f390 6f 64 69 66 79 69 6e 67 20 74 68 65 20 54 63 6c  odifying the Tcl
2f3a0 70 49 6e 69 74 4c 69 62 72 61 72 79 50 61 74 68  pInitLibraryPath
2f3b0 20 72 6f 75 74 69 6e 65 73 2e 0a 28 73 75 72 6c   routines..(surl
2f3c0 65 73 29 0a 0a 33 2f 31 34 2f 39 39 20 28 66 65  es)..3/14/99 (fe
2f3d0 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 41 64  ature change) Ad
2f3e0 64 65 64 20 68 6f 6f 6b 73 20 66 6f 72 20 54 63  ded hooks for Tc
2f3f0 6c 50 72 6f 20 57 72 61 70 70 65 72 20 74 6f 20  lPro Wrapper to 
2f400 69 6e 69 74 69 61 6c 69 7a 65 0a 74 68 65 20 6c  initialize.the l
2f410 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 65  ocation of the e
2f420 6e 63 6f 64 69 6e 67 20 66 69 6c 65 73 20 61 6e  ncoding files an
2f430 64 20 6c 69 62 72 61 72 69 65 73 2e 20 20 54 68  d libraries.  Th
2f440 69 73 20 66 69 78 20 69 6e 63 6c 75 64 65 64 3a  is fix included:
2f450 0a 20 20 20 20 2d 20 41 64 64 69 6e 67 20 74 68  .    - Adding th
2f460 65 20 54 63 6c 53 65 74 50 65 72 49 6e 69 74 53  e TclSetPerInitS
2f470 63 72 69 70 74 20 72 6f 75 74 69 6e 65 2e 0a 20  cript routine.. 
2f480 20 20 20 2d 20 4d 6f 64 69 66 79 69 6e 67 20 74     - Modifying t
2f490 68 65 20 54 63 6c 5f 49 6e 69 74 20 72 6f 75 74  he Tcl_Init rout
2f4a0 69 6e 65 73 20 74 6f 20 65 76 61 6c 75 61 74 65  ines to evaluate
2f4b0 20 74 68 65 20 6e 6f 6e 2d 4e 55 4c 4c 0a 20 20   the non-NULL.  
2f4c0 20 20 20 20 70 72 65 2d 69 6e 69 74 20 73 63 72      pre-init scr
2f4d0 69 70 74 2e 0a 20 20 20 20 2d 20 41 64 64 69 6e  ipt..    - Addin
2f4e0 67 20 74 68 65 20 54 63 6c 5f 53 65 74 64 65 66  g the Tcl_Setdef
2f4f0 61 75 6c 74 45 6e 63 6f 64 69 6e 67 44 69 72 20  aultEncodingDir 
2f500 61 6e 64 20 54 63 6c 5f 47 65 74 44 65 66 61 75  and Tcl_GetDefau
2f510 6c 74 45 6e 63 6f 64 69 6e 67 44 69 72 0a 20 20  ltEncodingDir.  
2f520 20 20 20 20 72 6f 75 74 69 6e 65 73 2e 0a 20 20      routines..  
2f530 20 20 2d 20 4d 6f 64 69 66 79 69 6e 67 20 74 68    - Modifying th
2f540 65 20 54 63 6c 70 49 6e 69 74 4c 69 62 72 61 72  e TclpInitLibrar
2f550 79 20 72 6f 75 74 69 6e 65 73 20 74 6f 20 61 70  y routines to ap
2f560 70 65 6e 64 20 74 68 65 20 64 65 66 61 75 6c 74  pend the default
2f570 0a 20 20 20 20 20 20 65 6e 63 6f 64 69 6e 67 20  .      encoding 
2f580 64 69 72 2e 0a 28 73 75 72 6c 65 73 29 0a 0a 33  dir..(surles)..3
2f590 2f 31 34 2f 39 39 20 28 66 65 61 74 75 72 65 20  /14/99 (feature 
2f5a0 63 68 61 6e 67 65 29 20 54 65 73 74 20 73 75 69  change) Test sui
2f5b0 74 65 20 6e 6f 77 20 75 73 65 73 20 22 74 65 73  te now uses "tes
2f5c0 74 22 20 6e 61 6d 65 73 70 61 63 65 20 74 6f 0a  t" namespace to.
2f5d0 64 65 66 69 6e 65 20 74 68 65 20 74 65 73 74 20  define the test 
2f5e0 70 72 6f 63 65 64 75 72 65 20 61 6e 64 20 6f 74  procedure and ot
2f5f0 68 65 72 20 61 75 78 69 6c 69 61 72 79 20 70 72  her auxiliary pr
2f600 6f 63 65 64 75 72 65 73 20 61 73 20 77 65 6c 6c  ocedures as well
2f610 20 61 73 0a 67 6c 6f 62 61 6c 20 76 61 72 69 61   as.global varia
2f620 62 6c 65 73 2e 0a 20 20 20 20 2d 20 47 6c 6f 62  bles..    - Glob
2f630 61 6c 20 61 72 72 61 79 20 74 65 73 74 43 6f 6e  al array testCon
2f640 66 69 67 65 20 69 73 20 6e 6f 77 20 63 61 6c 6c  fige is now call
2f650 65 64 20 3a 3a 74 65 73 74 3a 3a 74 65 73 74 43  ed ::test::testC
2f660 6f 6e 66 69 67 2e 0a 20 20 20 20 2d 20 47 6c 6f  onfig..    - Glo
2f670 62 61 6c 20 76 61 72 69 61 62 6c 65 20 56 45 52  bal variable VER
2f680 42 4f 53 45 20 69 73 20 6e 6f 77 20 63 61 6c 6c  BOSE is now call
2f690 65 64 20 3a 3a 74 65 73 74 3a 3a 76 65 72 62 6f  ed ::test::verbo
2f6a0 73 65 2c 20 61 6e 64 0a 20 20 20 20 20 20 3a 3a  se, and.      ::
2f6b0 74 65 73 74 3a 3a 76 65 72 62 6f 73 65 20 6e 6f  test::verbose no
2f6c0 20 6c 6f 6e 67 65 72 20 77 6f 72 6b 73 20 77 69   longer works wi
2f6d0 74 68 20 6e 75 6d 65 72 69 63 61 6c 20 76 61 6c  th numerical val
2f6e0 75 65 73 2e 20 20 57 65 27 76 65 0a 20 20 20 20  ues.  We've.    
2f6f0 20 20 73 77 69 74 63 68 65 64 20 74 6f 20 61 20    switched to a 
2f700 62 69 74 77 69 73 65 20 63 68 61 72 61 63 74 65  bitwise characte
2f710 72 20 73 74 72 69 6e 67 2e 20 20 59 6f 75 20 63  r string.  You c
2f720 61 6e 20 73 65 74 0a 20 20 20 20 20 20 3a 3a 74  an set.      ::t
2f730 65 73 74 3a 3a 76 65 72 62 6f 73 65 20 62 79 20  est::verbose by 
2f740 75 73 69 6e 67 20 74 68 65 20 2d 76 65 72 62 6f  using the -verbo
2f750 73 65 20 6f 70 74 69 6f 6e 20 6f 6e 20 74 68 65  se option on the
2f760 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 0a 20 20 20   Tcl command.   
2f770 20 20 20 6c 69 6e 65 2e 0a 20 20 20 20 2d 20 47     line..    - G
2f780 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 54  lobal variable T
2f790 45 53 54 53 20 69 73 20 6e 6f 77 20 63 61 6c 6c  ESTS is now call
2f7a0 65 64 20 3a 3a 74 65 73 74 3a 3a 6d 61 74 63 68  ed ::test::match
2f7b0 69 6e 67 54 65 73 74 73 2c 20 61 6e 64 0a 20 20  ingTests, and.  
2f7c0 20 20 20 20 63 61 6e 20 62 65 20 73 65 74 20 6f      can be set o
2f7d0 6e 20 74 68 65 20 54 63 6c 20 63 6f 6d 6d 61 6e  n the Tcl comman
2f7e0 64 20 6c 69 6e 65 20 76 69 61 20 74 68 65 20 2d  d line via the -
2f7f0 6d 61 74 63 68 20 6f 70 74 69 6f 6e 2e 0a 20 20  match option..  
2f800 20 20 2d 20 54 68 65 72 65 20 69 73 20 6e 6f 77    - There is now
2f810 20 61 20 3a 3a 74 65 73 74 3a 3a 73 6b 69 70 54   a ::test::skipT
2f820 65 73 74 73 20 76 61 72 69 61 62 6c 65 20 28 77  ests variable (w
2f830 6f 72 6b 73 20 73 69 6d 69 6c 61 72 6c 79 20 74  orks similarly t
2f840 6f 0a 20 20 20 20 20 20 3a 3a 74 65 73 74 3a 3a  o.      ::test::
2f850 6d 61 74 63 68 54 65 73 74 73 29 20 74 68 61 74  matchTests) that
2f860 20 63 61 6e 20 62 65 20 73 65 74 20 6f 6e 20 74   can be set on t
2f870 68 65 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 20 6c  he Tcl command l
2f880 69 6e 65 20 76 69 61 0a 20 20 20 20 20 20 74 68  ine via.      th
2f890 65 20 2d 6d 61 74 63 68 20 6f 70 74 69 6f 6e 2e  e -match option.
2f8a0 0a 20 20 20 20 2d 20 54 68 65 20 74 65 73 74 20  .    - The test 
2f8b0 73 75 69 74 65 20 63 61 6e 20 6e 6f 77 20 62 65  suite can now be
2f8c0 20 72 75 6e 20 69 6e 20 61 6e 79 20 77 6f 72 6b   run in any work
2f8d0 69 6e 67 20 64 69 72 65 63 74 6f 72 79 2e 20 20  ing directory.  
2f8e0 57 68 65 6e 0a 20 20 20 20 20 20 79 6f 75 20 72  When.      you r
2f8f0 75 6e 20 22 6d 61 6b 65 20 74 65 73 74 22 2c 20  un "make test", 
2f900 74 68 65 20 77 6f 72 6b 69 6e 67 20 64 69 72 65  the working dire
2f910 63 74 6f 72 79 20 69 73 20 6e 6f 6c 6f 6e 67 65  ctory is nolonge
2f920 72 20 73 77 69 74 63 68 65 64 0a 20 20 20 20 20  r switched.     
2f930 20 74 6f 20 2e 2e 2f 74 65 73 74 73 2e 0a 28 68   to ../tests..(h
2f940 69 72 73 63 68 6c 29 0a 2a 2a 2a 20 50 4f 54 45  irschl).*** POTE
2f950 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42  NTIAL INCOMPATIB
2f960 49 4c 49 54 59 20 2a 2a 2a 0a 0a 2d 2d 2d 2d 2d  ILITY ***..-----
2f970 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61  ---------- Relea
2f980 73 65 64 20 38 2e 31 62 32 2c 20 4d 61 72 63 68  sed 8.1b2, March
2f990 20 31 36 2c 20 31 39 39 39 20 2d 2d 2d 2d 2d 2d   16, 1999 ------
2f9a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
2f9b0 0a 0a 33 2f 31 38 2f 39 39 20 28 62 75 67 20 66  ..3/18/99 (bug f
2f9c0 69 78 29 20 46 69 78 65 64 20 6d 69 73 73 69 6e  ix) Fixed missin
2f9d0 67 2f 69 6e 63 6f 72 72 65 63 74 20 63 68 61 72  g/incorrect char
2f9e0 61 63 74 65 72 73 20 69 6e 20 73 68 69 66 74 2d  acters in shift-
2f9f0 6a 69 73 20 74 61 62 6c 65 0a 28 73 74 61 6e 74  jis table.(stant
2fa00 6f 6e 29 0a 0a 33 2f 31 38 2f 39 39 20 28 66 65  on)..3/18/99 (fe
2fa10 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 54 68  ature change) Th
2fa20 65 20 67 6c 6f 62 20 63 6f 6d 6d 61 6e 64 20 69  e glob command i
2fa30 67 6e 6f 72 65 73 20 74 68 65 0a 46 53 5f 43 41  gnores the.FS_CA
2fa40 53 45 5f 49 53 5f 50 52 45 53 45 52 56 45 44 20  SE_IS_PRESERVED 
2fa50 62 69 74 20 6f 6e 20 66 69 6c 65 20 73 79 73 74  bit on file syst
2fa60 65 73 6d 20 61 6e 64 20 61 6c 77 61 79 73 20 72  esm and always r
2fa70 65 74 75 72 6e 73 0a 65 78 61 63 74 6c 79 20 77  eturns.exactly w
2fa80 68 61 74 20 69 74 20 67 65 74 73 20 66 72 6f 6d  hat it gets from
2fa90 20 74 68 65 20 73 79 73 74 65 6d 2e 20 28 73 74   the system. (st
2faa0 61 6e 74 6f 6e 29 0a 2a 2a 2a 20 50 4f 54 45 4e  anton).*** POTEN
2fab0 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54 49 42 49  TIAL INCOMPATIBI
2fac0 4c 49 54 59 20 2a 2a 2a 0a 0a 33 2f 31 39 2f 39  LITY ***..3/19/9
2fad0 39 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  9 (new feature) 
2fae0 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f  Added support fo
2faf0 72 20 2d 2d 65 6e 61 62 6c 65 2d 36 34 62 69 74  r --enable-64bit
2fb00 2e 20 20 46 6f 72 20 6e 6f 77 2c 0a 74 68 69 73  .  For now,.this
2fb10 20 69 73 20 6f 6e 6c 79 20 73 75 70 70 6f 72 74   is only support
2fb20 65 64 20 6f 6e 20 53 6f 6c 61 72 69 73 20 37 20  ed on Solaris 7 
2fb30 36 34 62 69 74 20 28 53 75 6e 4f 53 20 35 2e 37  64bit (SunOS 5.7
2fb40 29 20 75 73 69 6e 67 20 74 68 65 20 53 75 6e 0a  ) using the Sun.
2fb50 63 6f 6d 70 69 6c 65 72 2e 20 28 72 65 64 6d 61  compiler. (redma
2fb60 6e 29 0a 0a 33 2f 32 33 2f 39 39 20 28 62 75 67  n)..3/23/99 (bug
2fb70 20 66 69 78 29 20 46 69 78 65 64 20 66 69 6c 65   fix) Fixed file
2fb80 65 76 65 6e 74 73 20 61 6e 64 20 67 65 74 73 20  events and gets 
2fb90 6f 6e 20 57 69 6e 64 6f 77 73 20 63 6f 6e 73 6f  on Windows conso
2fba0 6c 65 73 20 61 6e 64 0a 73 65 72 69 61 6c 20 64  les and.serial d
2fbb0 65 76 69 63 65 73 20 73 6f 20 74 68 61 74 20 6e  evices so that n
2fbc0 6f 6e 2d 62 6c 6f 63 6b 69 6e 67 20 63 68 61 6e  on-blocking chan
2fbd0 6e 65 6c 73 20 64 6f 20 6e 6f 74 20 62 6c 6f 63  nels do not bloc
2fbe0 6b 20 6f 6e 20 70 61 72 74 69 61 6c 0a 69 6e 70  k on partial.inp
2fbf0 75 74 20 6c 69 6e 65 73 2e 20 20 28 72 65 64 6d  ut lines.  (redm
2fc00 61 6e 29 0a 0a 33 2f 32 33 2f 39 39 20 28 62 75  an)..3/23/99 (bu
2fc10 67 20 66 69 78 29 20 41 64 64 65 64 20 61 20 6e  g fix) Added a n
2fc20 65 77 20 54 63 6c 5f 53 65 72 76 69 63 65 4d 6f  ew Tcl_ServiceMo
2fc30 64 65 48 6f 6f 6b 20 69 6e 74 65 72 66 61 63 65  deHook interface
2fc40 2e 0a 54 68 69 73 20 69 73 20 75 73 65 64 20 6f  ..This is used o
2fc50 6e 20 57 69 6e 64 6f 77 73 20 74 6f 20 61 76 6f  n Windows to avo
2fc60 69 64 20 74 68 65 20 76 61 72 69 6f 75 73 20 70  id the various p
2fc70 72 6f 62 6c 65 6d 73 20 74 68 61 74 20 70 65 6f  roblems that peo
2fc80 70 6c 65 0a 68 61 76 65 20 62 65 65 6e 20 73 65  ple.have been se
2fc90 65 69 6e 67 20 77 68 65 72 65 20 74 68 65 20 73  eing where the s
2fca0 79 73 74 65 6d 20 68 61 6e 67 73 20 77 68 65 6e  ystem hangs when
2fcb0 20 74 63 6c 73 68 20 69 73 20 72 75 6e 6e 69 6e   tclsh is runnin
2fcc0 67 0a 6f 75 74 73 69 64 65 20 6f 66 20 74 68 65  g.outside of the
2fcd0 20 65 76 65 6e 74 20 6c 6f 6f 70 2e 20 41 73 20   event loop. As 
2fce0 70 61 72 74 20 6f 66 20 74 68 69 73 2c 20 72 65  part of this, re
2fcf0 6e 61 6d 65 64 0a 54 63 6c 70 41 6c 65 72 74 4e  named.TclpAlertN
2fd00 6f 74 69 66 69 65 72 20 62 61 63 6b 20 74 6f 20  otifier back to 
2fd10 54 63 6c 5f 41 6c 65 72 74 4e 6f 74 69 66 69 65  Tcl_AlertNotifie
2fd20 72 20 73 69 6e 63 65 20 69 74 20 69 73 20 70 75  r since it is pu
2fd30 62 6c 69 63 2e 0a 28 73 74 61 6e 74 6f 6e 29 0a  blic..(stanton).
2fd40 0a 33 2f 32 33 2f 39 39 20 28 66 65 61 74 75 72  .3/23/99 (featur
2fd50 65 20 63 68 61 6e 67 65 29 20 54 65 73 74 20 73  e change) Test s
2fd60 75 69 74 65 20 6e 6f 77 20 75 73 65 73 20 22 74  uite now uses "t
2fd70 63 6c 74 65 73 74 22 20 6e 61 6d 65 73 70 61 63  cltest" namespac
2fd80 65 20 74 6f 0a 64 65 66 69 6e 65 20 74 68 65 20  e to.define the 
2fd90 74 65 73 74 20 70 72 6f 63 65 64 75 72 65 20 61  test procedure a
2fda0 6e 64 20 6f 74 68 65 72 20 61 75 78 69 6c 69 61  nd other auxilia
2fdb0 72 79 20 70 72 6f 63 65 64 75 72 65 73 20 61 73  ry procedures as
2fdc0 20 77 65 6c 6c 20 61 73 0a 67 6c 6f 62 61 6c 20   well as.global 
2fdd0 76 61 72 69 61 62 6c 65 73 2e 20 20 54 68 65 20  variables.  The 
2fde0 70 72 65 76 69 6f 75 73 6c 79 20 63 68 6f 73 65  previously chose
2fdf0 6e 20 22 74 65 73 74 22 20 6e 61 6d 65 73 70 61  n "test" namespa
2fe00 63 65 20 77 61 73 20 74 68 6f 75 67 68 74 0a 74  ce was thought.t
2fe10 6f 20 62 65 20 74 6f 6f 20 67 65 6e 65 72 69 63  o be too generic
2fe20 20 61 6e 64 20 6c 69 6b 65 6c 79 20 74 6f 20 63   and likely to c
2fe30 72 65 61 74 65 20 63 6f 6e 66 6c 69 74 73 2e 0a  reate conflits..
2fe40 28 68 69 72 73 63 68 6c 29 0a 2a 2a 2a 20 50 4f  (hirschl).*** PO
2fe50 54 45 4e 54 49 41 4c 20 49 4e 43 4f 4d 50 41 54  TENTIAL INCOMPAT
2fe60 49 42 49 4c 49 54 59 20 2a 2a 2a 0a 0a 33 2f 32  IBILITY ***..3/2
2fe70 34 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 4d  4/99 (bug fix) M
2fe80 61 6b 65 20 73 6f 63 6b 65 74 73 20 74 68 72 65  ake sockets thre
2fe90 61 64 20 73 61 66 65 20 6f 6e 20 57 69 6e 64 6f  ad safe on Windo
2fea0 77 73 2e 0a 28 72 65 64 6d 61 6e 29 0a 0a 33 2f  ws..(redman)..3/
2feb0 32 34 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  24/99 (bug fix) 
2fec0 46 69 78 20 63 61 73 65 73 20 77 68 65 72 65 20  Fix cases where 
2fed0 65 78 70 72 20 77 6f 75 6c 64 20 69 6e 63 6f 72  expr would incor
2fee0 72 65 63 74 20 72 65 74 75 72 6e 0a 61 20 66 6c  rect return.a fl
2fef0 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 76 61 6c  oating point val
2ff00 75 65 20 69 6e 73 74 65 61 64 20 6f 66 20 61 6e  ue instead of an
2ff10 20 69 6e 74 65 67 65 72 2e 20 28 73 74 61 6e 74   integer. (stant
2ff20 6f 6e 29 0a 0a 33 2f 32 35 2f 39 39 20 28 62 75  on)..3/25/99 (bu
2ff30 67 20 66 69 78 29 20 41 64 64 65 64 20 41 53 43  g fix) Added ASC
2ff40 49 49 20 74 6f 20 62 69 67 35 20 61 6e 64 20 67  II to big5 and g
2ff50 62 32 33 31 32 20 65 6e 63 6f 64 69 6e 67 73 2e  b2312 encodings.
2ff60 0a 28 73 74 61 6e 74 6f 6e 29 0a 0a 33 2f 32 35  .(stanton)..3/25
2ff70 2f 39 39 20 28 66 65 61 74 75 72 65 20 63 68 61  /99 (feature cha
2ff80 6e 67 65 29 20 43 68 61 6e 67 65 64 20 73 6f 20  nge) Changed so 
2ff90 61 6c 69 61 73 65 73 20 61 72 65 20 69 6e 76 6f  aliases are invo
2ffa0 6b 65 64 20 61 74 20 63 75 72 72 65 6e 74 0a 73  ked at current.s
2ffb0 63 6f 70 65 20 69 6e 20 74 68 65 20 74 61 72 67  cope in the targ
2ffc0 65 74 20 69 6e 74 65 72 70 72 65 74 65 72 20 69  et interpreter i
2ffd0 6e 73 74 65 61 64 20 6f 66 20 61 74 20 74 68 65  nstead of at the
2ffe0 20 67 6c 6f 62 61 6c 20 73 63 6f 70 65 2e 20 20   global scope.  
2fff0 54 68 69 73 0a 77 61 73 20 61 6e 20 69 6e 63 6f  This.was an inco
30000 6d 70 61 74 69 62 69 6c 69 74 79 20 69 6e 74 72  mpatibility intr
30010 6f 64 75 63 65 64 20 69 6e 20 38 2e 31 20 74 68  oduced in 8.1 th
30020 61 74 20 69 73 20 62 65 69 6e 67 20 72 65 6d 6f  at is being remo
30030 76 65 64 2e 0a 28 73 74 61 6e 74 6f 6e 29 0a 2a  ved..(stanton).*
30040 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
30050 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 77 69 74  OMPATIBILITY wit
30060 68 20 70 72 65 76 69 6f 75 73 20 62 65 74 61 20  h previous beta 
30070 72 65 6c 65 61 73 65 73 20 2a 2a 2a 0a 0a 33 2f  releases ***..3/
30080 32 36 2f 39 39 20 28 66 65 61 74 75 72 65 20 63  26/99 (feature c
30090 68 61 6e 67 65 29 20 2d 2d 65 6e 61 62 6c 65 2d  hange) --enable-
300a0 73 68 61 72 65 64 20 69 73 20 6e 6f 77 20 74 68  shared is now th
300b0 65 20 64 65 66 61 75 6c 74 20 61 6e 64 20 62 75  e default and bu
300c0 69 6c 64 0a 54 63 6c 20 61 73 20 61 20 73 68 61  ild.Tcl as a sha
300d0 72 65 64 20 6c 69 62 72 61 72 79 3b 20 73 70 65  red library; spe
300e0 63 69 66 79 20 2d 2d 64 69 73 61 62 6c 65 2d 73  cify --disable-s
300f0 68 61 72 65 64 20 74 6f 20 62 75 69 6c 64 20 61  hared to build a
30100 20 73 74 61 74 69 63 20 54 63 6c 0a 6c 69 62 72   static Tcl.libr
30110 61 72 79 20 61 6e 64 20 73 68 65 6c 6c 2e 0a 2a  ary and shell..*
30120 2a 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43  ** POTENTIAL INC
30130 4f 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a  OMPATIBILITY ***
30140 0a 0a 33 2f 32 39 2f 39 39 20 28 62 75 67 20 66  ..3/29/99 (bug f
30150 69 78 29 20 20 52 65 6d 6f 76 65 64 20 74 68 65  ix)  Removed the
30160 20 73 74 75 62 20 66 75 6e 63 74 69 6f 6e 73 20   stub functions 
30170 61 6e 64 20 63 68 61 6e 67 65 64 20 74 68 65 20  and changed the 
30180 73 74 75 62 0a 6d 61 63 72 6f 73 20 74 6f 20 6a  stub.macros to j
30190 75 73 74 20 75 73 65 20 74 68 65 20 6e 61 6d 65  ust use the name
301a0 20 77 69 74 68 6f 75 74 20 70 61 72 61 6d 73 2e   without params.
301b0 20 50 61 73 73 20 26 74 63 6c 53 74 75 62 73 20   Pass &tclStubs 
301c0 69 6e 74 6f 20 74 68 65 0a 69 6e 74 65 72 70 20  into the.interp 
301d0 28 64 6f 6e 27 74 20 75 73 65 20 74 63 6c 53 74  (don't use tclSt
301e0 75 62 73 50 74 72 20 62 65 63 61 75 73 65 20 6f  ubsPtr because o
301f0 66 20 63 6f 6c 6c 69 73 69 6f 6e 73 20 77 69 74  f collisions wit
30200 68 20 74 68 65 20 73 74 75 62 73 20 6f 6e 0a 53  h the stubs on.S
30210 6f 6c 61 72 69 73 29 2e 20 28 72 65 64 6d 61 6e  olaris). (redman
30220 29 0a 0a 33 2f 33 30 2f 39 39 20 28 62 75 67 20  )..3/30/99 (bug 
30230 66 69 78 29 20 4c 6f 61 64 61 62 6c 65 20 6d 6f  fix) Loadable mo
30240 64 75 6c 65 73 20 61 72 65 20 6e 6f 77 20 75 6e  dules are now un
30250 6c 6f 61 64 65 64 20 61 74 20 74 68 65 20 6c 61  loaded at the la
30260 73 74 0a 70 6f 73 73 69 62 6c 65 20 6d 6f 6d 65  st.possible mome
30270 6e 74 20 64 75 72 69 6e 67 20 54 63 6c 5f 46 69  nt during Tcl_Fi
30280 6e 61 6c 69 7a 65 20 74 6f 20 66 69 78 20 76 61  nalize to fix va
30290 72 69 6f 75 73 20 65 78 69 74 2d 74 69 6d 65 20  rious exit-time 
302a0 63 72 61 73 68 65 73 2e 0a 28 77 65 6c 63 68 29  crashes..(welch)
302b0 0a 0a 33 2f 33 30 2f 39 39 20 28 62 75 67 20 66  ..3/30/99 (bug f
302c0 69 78 29 20 54 63 6c 20 6e 6f 20 6c 6f 6e 67 65  ix) Tcl no longe
302d0 72 20 63 61 6c 6c 73 20 73 65 74 6c 6f 63 61 6c  r calls setlocal
302e0 65 28 29 2e 20 20 49 74 20 6c 6f 6f 6b 73 20 61  e().  It looks a
302f0 74 0a 65 6e 76 28 4c 41 4e 47 29 20 61 6e 64 20  t.env(LANG) and 
30300 65 6e 76 28 4c 43 5f 54 59 50 45 29 20 69 6e 73  env(LC_TYPE) ins
30310 74 65 61 64 2e 20 20 28 73 74 61 6e 74 6f 6e 29  tead.  (stanton)
30320 0a 0a 34 2f 31 2f 39 39 20 28 62 75 67 20 66 69  ..4/1/99 (bug fi
30330 78 29 20 46 69 78 65 64 20 74 68 65 20 55 6c 74  x) Fixed the Ult
30340 72 69 78 20 6d 75 6c 74 69 70 6c 65 20 73 79 6d  rix multiple sym
30350 62 6f 6c 20 64 65 66 69 6e 69 74 69 6f 6e 20 70  bol definition p
30360 72 6f 62 6c 65 6d 2e 0a 4e 6f 77 2c 20 65 76 65  roblem..Now, eve
30370 6e 20 54 63 6c 20 69 6e 63 6c 75 64 65 73 20 61  n Tcl includes a
30380 20 63 6f 70 79 20 6f 66 20 74 68 65 20 54 63 6c   copy of the Tcl
30390 20 73 74 75 62 20 6c 69 62 72 61 72 79 2e 20 28   stub library. (
303a0 72 65 64 6d 61 6e 29 0a 0a 34 2f 31 2f 39 39 20  redman)..4/1/99 
303b0 28 62 75 67 20 66 69 78 29 20 49 6e 74 65 72 6e  (bug fix) Intern
303c0 61 74 69 6f 6e 61 6c 69 7a 65 64 20 74 68 65 20  ationalized the 
303d0 72 65 67 69 73 74 72 79 20 70 61 63 6b 61 67 65  registry package
303e0 2e 0a 0a 34 2f 31 2f 39 39 20 28 62 75 67 20 66  ...4/1/99 (bug f
303f0 69 78 29 20 43 68 61 6e 67 65 64 20 74 68 65 20  ix) Changed the 
30400 69 6d 70 6c 65 6d 65 6e 61 74 69 6f 6e 20 6f 66  implemenation of
30410 20 54 63 6c 5f 43 6f 6e 64 69 74 69 6f 6e 57 61   Tcl_ConditionWa
30420 69 74 20 61 6e 64 0a 54 63 6c 5f 43 6f 6e 64 69  it and.Tcl_Condi
30430 74 69 6f 6e 4e 6f 74 69 66 79 20 6f 6e 20 57 69  tionNotify on Wi
30440 6e 64 6f 77 73 2e 20 20 54 68 65 20 6e 65 77 20  ndows.  The new 
30450 61 6c 67 6f 72 69 74 68 6d 20 65 6c 69 6d 69 6e  algorithm elimin
30460 61 74 65 73 20 61 20 72 61 63 65 0a 63 6f 6e 64  ates a race.cond
30470 69 74 69 6f 6e 20 61 6e 64 20 77 61 73 20 73 75  ition and was su
30480 67 67 65 73 74 65 64 20 62 79 20 4a 69 6d 20 44  ggested by Jim D
30490 61 76 69 64 73 6f 6e 2e 20 28 77 65 6c 63 68 29  avidson. (welch)
304a0 0a 0a 34 2f 32 2f 39 39 20 28 6e 65 77 20 61 70  ..4/2/99 (new ap
304b0 69 73 29 20 20 4d 61 64 65 20 76 61 72 69 6f 75  is)  Made variou
304c0 73 20 55 6e 69 63 6f 64 65 20 75 74 69 6c 69 74  s Unicode utilit
304d0 79 20 66 75 6e 63 74 69 6f 6e 73 20 70 75 62 6c  y functions publ
304e0 69 63 2e 0a 54 63 6c 5f 55 74 66 54 6f 55 6e 69  ic..Tcl_UtfToUni
304f0 43 68 61 72 44 53 74 72 69 6e 67 2c 20 54 63 6c  CharDString, Tcl
30500 5f 55 6e 69 43 68 61 72 54 6f 55 74 66 44 53 74  _UniCharToUtfDSt
30510 72 69 6e 67 2c 20 54 63 6c 5f 55 6e 69 43 68 61  ring, Tcl_UniCha
30520 72 4c 65 6e 2c 0a 54 63 6c 5f 55 6e 69 43 68 61  rLen,.Tcl_UniCha
30530 72 4e 63 6d 70 2c 20 54 63 6c 5f 55 6e 69 43 68  rNcmp, Tcl_UniCh
30540 61 72 49 73 41 6c 6e 75 6d 2c 20 54 63 6c 5f 55  arIsAlnum, Tcl_U
30550 6e 69 43 68 61 72 49 73 41 6c 70 68 61 2c 0a 54  niCharIsAlpha,.T
30560 63 6c 5f 55 6e 69 43 68 61 72 49 73 44 69 67 69  cl_UniCharIsDigi
30570 74 2c 20 54 63 6c 5f 55 6e 69 43 68 61 72 49 73  t, Tcl_UniCharIs
30580 4c 6f 77 65 72 2c 20 54 63 6c 5f 55 6e 69 43 68  Lower, Tcl_UniCh
30590 61 72 49 73 53 70 61 63 65 2c 0a 54 63 6c 5f 55  arIsSpace,.Tcl_U
305a0 6e 69 43 68 61 72 49 73 55 70 70 65 72 2c 20 54  niCharIsUpper, T
305b0 63 6c 5f 55 6e 69 43 68 61 72 49 73 57 6f 72 64  cl_UniCharIsWord
305c0 43 68 61 72 2c 20 54 63 6c 5f 57 69 6e 55 74 66  Char, Tcl_WinUtf
305d0 54 6f 54 43 68 61 72 2c 0a 54 63 6c 5f 57 69 6e  ToTChar,.Tcl_Win
305e0 54 43 68 61 72 54 6f 55 74 66 20 28 73 74 61 6e  TCharToUtf (stan
305f0 74 6f 6e 29 0a 0a 34 2f 32 2f 39 39 20 28 66 65  ton)..4/2/99 (fe
30600 61 74 75 72 65 20 63 68 61 6e 67 65 29 20 41 64  ature change) Ad
30610 64 20 6e 65 77 20 44 44 45 20 70 61 63 6b 61 67  d new DDE packag
30620 65 20 61 6e 64 20 72 65 6d 6f 76 65 64 20 74 68  e and removed th
30630 65 20 54 6b 0a 73 65 6e 64 20 63 6f 6d 6d 61 6e  e Tk.send comman
30640 64 20 66 72 6f 6d 20 74 68 65 20 57 69 6e 64 6f  d from the Windo
30650 77 73 20 76 65 72 73 69 6f 6e 2e 20 20 43 68 61  ws version.  Cha
30660 6e 67 65 64 20 44 44 45 2d 62 61 73 65 64 20 73  nged DDE-based s
30670 65 6e 64 0a 63 6f 64 65 20 69 6e 74 6f 20 22 64  end.code into "d
30680 64 65 20 65 76 61 6c 22 20 63 6f 6d 6d 61 6e 64  de eval" command
30690 2e 20 20 54 68 65 20 44 44 45 20 70 61 63 6b 61  .  The DDE packa
306a0 67 65 20 63 61 6e 20 62 65 20 6c 6f 61 64 65 64  ge can be loaded
306b0 0a 69 6e 74 6f 20 74 63 6c 73 68 2c 20 6e 6f 74  .into tclsh, not
306c0 20 6a 75 73 74 20 77 69 73 68 2e 20 20 57 69 6e   just wish.  Win
306d0 64 6f 77 73 20 6f 6e 6c 79 2e 20 28 72 65 64 6d  dows only. (redm
306e0 61 6e 29 0a 0a 34 2f 35 2f 39 39 20 28 62 75 67  an)..4/5/99 (bug
306f0 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 73 61   fix) Changed sa
30700 66 65 2d 74 63 6c 20 73 6f 20 74 68 61 74 20 74  fe-tcl so that t
30710 68 65 20 65 6e 63 6f 64 69 6e 67 20 63 6f 6d 6d  he encoding comm
30720 61 6e 64 0a 69 73 20 61 6e 20 61 6c 69 61 73 20  and.is an alias 
30730 74 68 61 74 20 6d 61 73 6b 73 20 6f 75 74 20 74  that masks out t
30740 68 65 20 22 65 6e 63 6f 64 69 6e 67 20 73 79 73  he "encoding sys
30750 74 65 6d 22 20 73 75 62 63 6f 6d 6d 61 6e 64 2e  tem" subcommand.
30760 0a 28 72 65 64 6d 61 6e 29 0a 0a 34 2f 35 2f 39  .(redman)..4/5/9
30770 39 20 28 62 75 67 20 66 69 78 29 20 43 6f 6e 66  9 (bug fix) Conf
30780 69 67 75 72 65 20 70 61 74 63 68 65 73 20 74 6f  igure patches to
30790 20 69 6d 70 72 6f 76 65 20 73 75 70 70 6f 72 74   improve support
307a0 20 66 6f 72 0a 4f 53 2f 33 39 30 20 61 6e 64 20   for.OS/390 and 
307b0 42 53 44 2f 4f 53 20 34 2e 2a 2e 20 28 73 74 61  BSD/OS 4.*. (sta
307c0 6e 74 6f 6e 29 0a 0a 34 2f 35 2f 39 39 20 28 62  nton)..4/5/99 (b
307d0 75 67 20 66 69 78 29 20 46 69 78 65 64 20 63 72  ug fix) Fixed cr
307e0 61 73 68 20 69 6e 20 74 68 65 20 63 6c 6f 63 6b  ash in the clock
307f0 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20 6f 63   command that oc
30800 63 75 72 72 65 64 0a 77 69 74 68 20 6e 65 67 61  curred.with nega
30810 74 69 76 65 20 74 69 6d 65 20 76 61 6c 75 65 73  tive time values
30820 20 69 6e 20 74 69 6d 65 7a 6f 6e 65 73 20 65 61   in timezones ea
30830 73 74 20 6f 66 20 47 4d 54 2e 20 28 73 74 61 6e  st of GMT. (stan
30840 74 6f 6e 29 0a 0a 34 2f 36 2f 39 39 20 28 62 75  ton)..4/6/99 (bu
30850 67 20 66 69 78 29 20 4d 6f 76 65 64 20 74 68 65  g fix) Moved the
30860 20 22 61 72 72 61 79 20 73 65 74 22 20 43 20 6c   "array set" C l
30870 65 76 65 6c 20 63 6f 64 65 20 69 6e 74 6f 20 61  evel code into a
30880 20 63 6f 6d 6d 6f 6e 0a 72 6f 75 74 69 6e 65 20   common.routine 
30890 28 54 63 6c 41 72 72 61 79 53 65 74 29 2e 20 20  (TclArraySet).  
308a0 54 68 65 20 54 63 6c 53 65 74 75 70 45 6e 76 20  The TclSetupEnv 
308b0 72 6f 75 74 69 6e 65 20 6e 6f 77 20 75 73 65 73  routine now uses
308c0 20 74 68 69 73 20 41 50 49 20 74 6f 0a 63 72 65   this API to.cre
308d0 61 74 65 20 61 6e 20 65 6e 76 20 61 72 72 61 79  ate an env array
308e0 20 77 2f 20 6e 6f 20 65 6c 65 6d 65 6e 74 73 2e   w/ no elements.
308f0 20 20 54 68 69 73 20 66 69 78 65 73 20 74 68 65    This fixes the
30900 20 62 75 67 20 63 61 75 73 65 64 20 77 68 65 6e   bug caused when
30910 0a 65 76 65 72 79 20 65 6e 76 69 72 6f 6e 20 76  .every environ v
30920 61 72 61 69 62 6c 65 20 69 73 20 72 65 6d 6f 76  araible is remov
30930 65 64 2c 20 61 6e 64 20 74 68 65 20 54 63 6c 20  ed, and the Tcl 
30940 65 6e 76 20 76 61 72 69 61 62 6c 65 20 69 73 0a  env variable is.
30950 73 79 6e 63 68 65 64 2e 20 20 49 66 20 6e 6f 20  synched.  If no 
30960 65 6e 76 69 72 6f 6e 20 76 61 72 73 20 65 78 69  environ vars exi
30970 73 74 65 64 2c 20 74 68 65 20 54 63 6c 20 65 6e  sted, the Tcl en
30980 76 20 76 61 72 20 77 6f 75 6c 64 20 6e 65 76 65  v var would neve
30990 72 20 62 65 0a 63 72 65 61 74 65 64 2e 20 28 73  r be.created. (s
309a0 75 72 6c 65 73 29 0a 0a 34 2f 36 2f 39 39 20 28  urles)..4/6/99 (
309b0 62 75 67 20 66 69 78 29 20 4d 61 64 65 20 74 68  bug fix) Made th
309c0 65 20 45 6e 76 20 6d 6f 64 75 6c 65 20 49 31 38  e Env module I18
309d0 4e 20 63 6f 6d 70 6c 69 61 6e 74 2e 20 28 73 75  N compliant. (su
309e0 72 6c 65 73 29 0a 0a 34 2f 36 2f 39 39 20 28 62  rles)..4/6/99 (b
309f0 75 67 20 66 69 78 29 20 43 68 61 6e 67 65 64 20  ug fix) Changed 
30a00 74 68 65 20 46 69 6e 64 56 61 72 69 61 62 6c 65  the FindVariable
30a10 20 72 6f 75 74 69 6e 65 20 74 6f 20 54 63 6c 70   routine to Tclp
30a20 46 69 6e 64 56 61 72 69 61 62 6c 65 2c 0a 74 68  FindVariable,.th
30a30 61 74 20 6e 6f 77 20 64 6f 65 73 20 61 20 63 61  at now does a ca
30a40 73 65 20 69 6e 73 65 6e 73 69 74 69 76 65 20 73  se insensitive s
30a50 74 72 69 6e 67 20 63 6f 6d 70 61 72 69 73 6f 6e  tring comparison
30a60 20 6f 6e 20 57 69 6e 64 6f 77 73 2c 20 61 6e 64   on Windows, and
30a70 20 6e 6f 74 0a 6f 6e 20 55 4e 49 58 2e 20 28 73   not.on UNIX. (s
30a80 75 72 6c 65 73 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d  urles)..--------
30a90 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64  ------- Released
30aa0 20 38 2e 31 62 33 2c 20 41 70 72 69 6c 20 36 2c   8.1b3, April 6,
30ab0 20 31 39 39 39 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d   1999 ----------
30ac0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 34 2f  ------------..4/
30ad0 39 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 20  9/99 (bug fix)  
30ae0 46 69 78 65 64 20 6e 6f 74 69 66 69 65 72 20 64  Fixed notifier d
30af0 65 61 64 6c 6f 63 6b 20 73 69 74 75 61 74 69 6f  eadlock situatio
30b00 6e 20 77 68 65 6e 20 74 68 65 20 70 69 70 65 20  n when the pipe 
30b10 75 73 65 64 0a 74 6f 20 74 61 6c 6b 20 62 61 63  used.to talk bac
30b20 6b 20 6e 6f 74 69 66 69 65 72 20 74 68 72 65 61  k notifier threa
30b30 64 20 69 73 20 66 69 6c 6c 65 64 20 77 69 74 68  d is filled with
30b40 20 64 61 74 61 2e 20 20 46 6f 75 6e 64 20 61 73   data.  Found as
30b50 20 61 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65   a result of the
30b60 0a 66 6f 63 75 73 2e 74 65 73 74 20 66 6f 72 20  .focus.test for 
30b70 54 6b 20 68 61 6e 67 69 6e 67 2e 20 28 72 65 64  Tk hanging. (red
30b80 6d 61 6e 29 0a 0a 34 2f 31 33 2f 39 39 20 28 62  man)..4/13/99 (b
30b90 75 67 20 66 69 78 29 20 46 69 78 65 64 20 62 75  ug fix) Fixed bu
30ba0 67 20 77 68 65 72 65 20 73 6f 63 6b 65 74 20 2d  g where socket -
30bb0 61 73 79 6e 63 20 63 6f 6d 62 69 6e 65 64 20 77  async combined w
30bc0 69 74 68 0a 66 69 6c 65 65 76 65 6e 74 20 66 6f  ith.fileevent fo
30bd0 72 20 77 72 69 74 69 6e 67 20 64 69 64 20 6e 6f  r writing did no
30be0 74 20 77 6f 72 6b 20 75 6e 64 65 72 20 57 69 6e  t work under Win
30bf0 64 6f 77 73 20 4e 54 2e 20 28 72 65 64 6d 61 6e  dows NT. (redman
30c00 29 0a 0a 34 2f 31 33 2f 39 39 20 28 65 6e 63 6f  )..4/13/99 (enco
30c10 64 69 6e 67 20 66 69 78 29 20 52 65 73 74 6f 72  ding fix) Restor
30c20 65 64 20 74 68 65 20 64 6f 75 62 6c 65 20 62 79  ed the double by
30c30 74 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66  te definition of
30c40 20 47 42 32 33 31 32 0a 61 6e 64 20 61 64 64 65   GB2312.and adde
30c50 64 20 74 68 65 20 45 55 43 2d 43 4e 20 65 6e 63  d the EUC-CN enc
30c60 6f 64 69 6e 67 2e 20 20 45 55 43 2d 43 4e 20 69  oding.  EUC-CN i
30c70 73 20 61 20 76 61 72 69 61 6e 74 20 6f 66 20 47  s a variant of G
30c80 42 32 33 31 32 20 74 68 61 74 0a 73 68 69 66 74  B2312 that.shift
30c90 73 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73  s the characters
30ca0 20 69 6e 74 6f 20 62 79 74 65 73 20 77 69 74 68   into bytes with
30cb0 20 74 68 65 20 68 69 67 68 20 62 69 74 20 73 65   the high bit se
30cc0 74 20 61 6e 64 20 69 6e 63 6c 75 64 65 73 0a 41  t and includes.A
30cd0 53 43 49 49 20 61 73 20 61 20 73 75 62 73 65 74  SCII as a subset
30ce0 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 34 2f 32  . (stanton)..4/2
30cf0 37 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 41  7/99 (bug fix) A
30d00 64 64 65 64 20 27 65 78 74 65 72 6e 20 22 43 22  dded 'extern "C"
30d10 20 7b 7d 27 20 62 6c 6f 63 6b 20 61 72 6f 75 6e   {}' block aroun
30d20 64 20 74 68 65 20 73 74 75 62 20 74 61 62 6c 65  d the stub table
30d30 0a 70 6f 69 6e 74 65 72 20 64 65 63 6c 61 72 61  .pointer declara
30d40 74 69 6f 6e 20 73 6f 20 74 68 65 20 73 74 75 62  tion so the stub
30d50 20 6c 69 62 72 61 72 79 20 63 61 6e 20 62 65 20   library can be 
30d60 75 73 65 64 20 66 72 6f 6d 20 43 2b 2b 2e 20 28  used from C++. (
30d70 73 74 61 6e 74 6f 6e 29 0a 0a 2d 2d 2d 2d 2d 2d  stanton)..------
30d80 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73  --------- Releas
30d90 65 64 20 38 2e 31 20 66 69 6e 61 6c 2c 20 41 70  ed 8.1 final, Ap
30da0 72 69 6c 20 32 39 2c 20 31 39 39 39 20 2d 2d 2d  ril 29, 1999 ---
30db0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
30dc0 2d 2d 2d 0a 0a 34 2f 32 32 2f 39 39 20 28 62 75  ---..4/22/99 (bu
30dd0 67 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 57  g fix) Changed W
30de0 69 6e 64 6f 77 73 20 4e 54 20 73 6f 63 6b 65 74  indows NT socket
30df0 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20   implementation 
30e00 74 6f 20 61 76 6f 69 64 0a 63 72 65 61 74 69 6e  to avoid.creatin
30e10 67 20 61 20 63 6f 6d 6d 75 6e 69 63 61 74 69 6f  g a communicatio
30e20 6e 20 77 69 6e 64 6f 77 2e 20 20 54 68 69 73 20  n window.  This 
30e30 61 76 6f 69 64 73 20 74 68 65 20 70 72 6f 62 6c  avoids the probl
30e40 65 6d 20 77 68 65 72 65 20 74 68 65 0a 73 79 73  em where the.sys
30e50 74 65 6d 20 68 61 6e 67 73 20 77 61 69 74 69 6e  tem hangs waitin
30e60 67 20 66 6f 72 20 74 63 6c 73 68 20 74 6f 20 72  g for tclsh to r
30e70 65 73 70 6f 6e 64 20 74 6f 20 61 20 73 79 73 74  espond to a syst
30e80 65 6d 2d 77 69 64 65 20 73 79 6e 63 68 72 6f 6e  em-wide synchron
30e90 6f 75 73 0a 62 72 6f 61 64 63 61 73 74 20 28 65  ous.broadcast (e
30ea0 2e 67 2e 20 69 66 20 79 6f 75 20 63 68 61 6e 67  .g. if you chang
30eb0 65 20 73 79 73 74 65 6d 20 63 6f 6c 6f 72 73 29  e system colors)
30ec0 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 34 2f 32 32  . (redman)..4/22
30ed0 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 41 64  /99 (bug fix) Ad
30ee0 64 65 64 20 63 61 6c 6c 20 74 6f 20 54 63 6c 57  ded call to TclW
30ef0 69 6e 49 6e 69 74 20 66 72 6f 6d 20 54 63 6c 70  inInit from Tclp
30f00 49 6e 69 74 50 6c 61 74 66 6f 72 6d 20 77 68 65  InitPlatform whe
30f10 6e 0a 62 75 69 6c 64 69 6e 67 20 61 20 73 74 61  n.building a sta
30f20 74 69 63 20 6c 69 62 72 61 72 79 20 73 69 6e 63  tic library sinc
30f30 65 20 44 6c 6c 4d 61 69 6e 20 77 69 6c 6c 20 6e  e DllMain will n
30f40 6f 74 20 62 65 20 69 6e 76 6f 6b 65 64 2e 20 20  ot be invoked.  
30f50 54 68 69 73 0a 63 6f 75 6c 64 20 62 72 65 61 6b  This.could break
30f60 20 6f 6c 64 20 63 6f 64 65 20 74 68 61 74 20 65   old code that e
30f70 78 70 6c 69 63 69 74 6c 79 20 63 61 6c 6c 65 64  xplicitly called
30f80 20 54 63 6c 57 69 6e 49 6e 69 74 2c 20 62 75 74   TclWinInit, but
30f90 20 73 68 6f 75 6c 64 20 62 65 0a 73 69 6d 70 6c   should be.simpl
30fa0 65 72 20 69 6e 20 74 68 65 20 6c 6f 6e 67 20 72  er in the long r
30fb0 75 6e 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 2a 2a  un. (stanton).**
30fc0 2a 20 50 4f 54 45 4e 54 49 41 4c 20 49 4e 43 4f  * POTENTIAL INCO
30fd0 4d 50 41 54 49 42 49 4c 49 54 59 20 2a 2a 2a 0a  MPATIBILITY ***.
30fe0 0a 34 2f 32 33 2f 39 39 20 28 62 75 67 20 66 69  .4/23/99 (bug fi
30ff0 78 29 20 41 64 64 65 64 20 73 75 70 70 6f 72 74  x) Added support
31000 20 66 6f 72 20 74 68 65 20 6b 6f 69 38 2d 72 20   for the koi8-r 
31010 43 79 72 69 6c 6c 69 63 0a 65 6e 63 6f 64 69 6e  Cyrillic.encodin
31020 67 2e 20 5b 42 75 67 3a 20 31 37 37 31 5d 20 28  g. [Bug: 1771] (
31030 73 74 61 6e 74 6f 6e 29 0a 0a 34 2f 32 38 2f 39  stanton)..4/28/9
31040 39 20 28 62 75 67 20 66 69 78 29 20 43 68 61 6e  9 (bug fix) Chan
31050 67 65 64 20 69 6e 74 65 72 6e 61 6c 20 54 63 6c  ged internal Tcl
31060 5f 4f 62 6a 20 75 73 61 67 65 20 74 6f 20 61 76  _Obj usage to av
31070 6f 69 64 20 66 72 65 65 69 6e 67 20 74 68 65 0a  oid freeing the.
31080 69 6e 74 65 72 6e 61 6c 20 72 65 70 72 65 73 65  internal represe
31090 6e 74 61 74 69 6f 6e 20 61 66 74 65 72 20 74 68  ntation after th
310a0 65 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65  e string represe
310b0 6e 74 61 74 69 6f 6e 20 68 61 73 20 62 65 65 6e  ntation has been
310c0 0a 66 72 65 65 64 2e 20 20 54 68 69 73 20 6d 61  .freed.  This ma
310d0 6b 65 73 20 69 74 20 65 61 73 69 65 72 20 74 6f  kes it easier to
310e0 20 64 65 62 75 67 20 65 78 74 65 6e 73 69 6f 6e   debug extension
310f0 73 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 34 2f  s. (stanton)..4/
31100 33 30 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  30/99 (bug fix) 
31110 46 69 78 65 64 20 61 20 6d 65 6d 6f 72 79 20 6c  Fixed a memory l
31120 65 61 6b 20 69 6e 20 43 6f 6d 6d 61 6e 64 43 6f  eak in CommandCo
31130 6d 70 6c 65 74 65 2e 20 28 73 74 61 6e 74 6f 6e  mplete. (stanton
31140 29 0a 0a 35 2f 33 2f 39 39 20 28 62 75 67 20 66  )..5/3/99 (bug f
31150 69 78 29 20 46 69 78 65 64 20 61 20 62 75 67 20  ix) Fixed a bug 
31160 77 68 65 72 65 20 74 68 65 20 54 63 6c 5f 4f 62  where the Tcl_Ob
31170 6a 54 79 70 65 20 77 61 73 20 6e 6f 74 20 62 65  jType was not be
31180 69 6e 67 20 73 65 74 0a 69 6e 20 61 20 64 75 70  ing set.in a dup
31190 6c 69 63 61 74 65 64 20 54 63 6c 5f 4f 62 6a 2e  licated Tcl_Obj.
311a0 20 5b 42 75 67 3a 20 31 39 37 35 2c 20 32 30 34   [Bug: 1975, 204
311b0 37 5d 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 35 2f  7] (stanton)..5/
311c0 33 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 43  3/99 (bug fix) C
311d0 68 61 6e 67 65 64 20 54 63 6c 5f 50 61 72 73 65  hanged Tcl_Parse
311e0 43 6f 6d 6d 61 6e 64 20 74 6f 20 61 76 6f 69 64  Command to avoid
311f0 20 6d 6f 64 69 66 79 69 6e 67 20 65 76 61 6c 27   modifying eval'
31200 65 64 0a 73 74 72 69 6e 67 73 20 74 68 61 74 20  ed.strings that 
31210 61 72 65 20 61 6c 72 65 61 64 79 20 6e 75 6c 6c  are already null
31220 20 74 65 72 6d 69 6e 61 74 65 64 2e 20 20 5b 42   terminated.  [B
31230 75 67 3a 20 31 37 39 33 5d 20 28 73 74 61 6e 74  ug: 1793] (stant
31240 6f 6e 29 0a 0a 35 2f 33 2f 39 39 20 28 6e 65 77  on)..5/3/99 (new
31250 20 66 65 61 74 75 72 65 29 20 41 70 70 6c 69 65   feature) Applie
31260 64 20 4a 65 66 66 20 48 6f 62 62 73 27 73 20 73  d Jeff Hobbs's s
31270 74 72 69 6e 67 20 70 61 74 63 68 20 77 68 69 63  tring patch whic
31280 68 20 69 6e 63 6c 75 64 65 73 0a 74 68 65 20 66  h includes.the f
31290 6f 6c 6c 6f 77 69 6e 67 20 63 68 61 6e 67 65 73  ollowing changes
312a0 3a 0a 20 20 20 20 2d 20 61 64 64 65 64 20 6e 65  :.    - added ne
312b0 77 20 73 75 62 63 6f 6d 6d 61 6e 64 73 3a 20 65  w subcommands: e
312c0 71 75 61 6c 2c 20 72 65 70 65 61 74 2c 20 6d 61  qual, repeat, ma
312d0 70 2c 20 69 73 2c 20 72 65 70 6c 61 63 65 20 0a  p, is, replace .
312e0 20 20 20 20 2d 20 61 64 64 65 64 20 2d 6c 65 6e      - added -len
312f0 67 74 68 20 6f 70 74 69 6f 6e 20 74 6f 20 22 73  gth option to "s
31300 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 7c 65 71  tring compare|eq
31310 75 61 6c 22 0a 20 20 20 20 2d 20 61 64 64 65 64  ual".    - added
31320 20 2d 6e 6f 63 61 73 65 20 6f 70 74 69 6f 6e 20   -nocase option 
31330 74 6f 20 22 73 74 72 69 6e 67 20 63 6f 6d 70 61  to "string compa
31340 72 65 7c 65 71 75 61 6c 7c 6d 61 74 63 68 22 0a  re|equal|match".
31350 20 20 20 20 2d 20 73 74 72 69 6e 67 20 61 6e 64      - string and
31360 20 6c 69 73 74 20 69 6e 64 69 63 65 73 20 63 61   list indices ca
31370 6e 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 20  n be an integer 
31380 6f 72 20 65 6e 64 3f 2d 69 6e 74 65 67 65 72 3f  or end?-integer?
31390 2e 0a 20 20 20 20 2d 20 61 64 64 65 64 20 6f 70  ..    - added op
313a0 74 69 6f 6e 61 6c 20 66 69 72 73 74 20 61 6e 64  tional first and
313b0 20 6c 61 73 74 20 69 6e 64 65 78 20 61 72 67 73   last index args
313c0 20 74 6f 20 73 74 72 69 6e 67 20 74 6f 75 70 70   to string toupp
313d0 65 72 2c 20 65 74 20 61 6c 2e 0a 53 65 65 20 74  er, et al..See t
313e0 68 65 20 73 74 72 69 6e 67 2e 6e 20 6d 61 6e 75  he string.n manu
313f0 61 6c 20 65 6e 74 72 79 20 66 6f 72 20 6d 6f 72  al entry for mor
31400 65 20 64 65 74 61 69 6c 73 20 61 62 6f 75 74 20  e details about 
31410 74 68 65 20 6e 65 77 20 73 74 72 69 6e 67 0a 66  the new string.f
31420 65 61 74 75 72 65 73 2e 20 20 5b 42 75 67 3a 20  eatures.  [Bug: 
31430 31 38 34 35 5d 20 28 73 74 61 6e 74 6f 6e 29 0a  1845] (stanton).
31440 0a 35 2f 36 2f 39 39 20 28 6e 65 77 20 66 65 61  .5/6/99 (new fea
31450 74 75 72 65 29 20 41 64 64 65 64 20 54 63 6c 5f  ture) Added Tcl_
31460 55 74 66 4e 63 6d 70 20 61 6e 64 20 54 63 6c 5f  UtfNcmp and Tcl_
31470 55 74 66 4e 63 61 73 65 63 6d 70 20 74 6f 20 6d  UtfNcasecmp to m
31480 61 6b 65 20 55 74 66 0a 73 74 72 69 6e 67 20 63  ake Utf.string c
31490 6f 6d 70 61 72 69 73 69 6f 6e 20 65 61 73 69 65  omparision easie
314a0 72 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 35 2f  r. (stanton)..5/
314b0 37 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 49  7/99 (bug fix) I
314c0 6d 70 72 6f 76 65 64 20 4f 53 2f 33 39 30 20 73  mproved OS/390 s
314d0 75 70 70 6f 72 74 2e 20 5b 42 75 67 3a 20 31 39  upport. [Bug: 19
314e0 37 36 2c 20 31 39 39 37 5d 20 28 73 74 61 6e 74  76, 1997] (stant
314f0 6f 6e 29 0a 0a 35 2f 31 32 2f 39 39 20 28 62 75  on)..5/12/99 (bu
31500 67 20 66 69 78 29 20 43 68 61 6e 67 65 64 20 57  g fix) Changed W
31510 69 6e 64 6f 77 73 20 69 6e 69 74 69 61 6c 69 7a  indows initializ
31520 61 74 69 6f 6e 20 63 6f 64 65 20 74 6f 20 61 76  ation code to av
31530 6f 69 64 20 75 73 69 6e 67 0a 47 65 74 55 73 65  oid using.GetUse
31540 72 4e 61 6d 65 20 73 79 73 74 65 6d 20 63 61 6c  rName system cal
31550 6c 20 69 6e 20 66 61 76 6f 72 20 6f 66 20 74 68  l in favor of th
31560 65 20 65 6e 76 28 55 53 45 52 4e 41 4d 45 29 20  e env(USERNAME) 
31570 76 61 72 69 61 62 6c 65 2e 20 20 54 68 69 73 0a  variable.  This.
31580 70 72 6f 76 69 64 65 73 20 61 20 73 69 67 6e 69  provides a signi
31590 66 69 63 61 6e 74 20 73 74 61 72 74 75 70 20 73  ficant startup s
315a0 70 65 65 64 20 69 6d 70 72 6f 76 65 6d 65 6e 74  peed improvement
315b0 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 35 2f 31  . (stanton)..5/1
315c0 32 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 52  2/99 (bug fix) R
315d0 65 70 6c 61 63 65 64 20 74 68 65 20 70 65 72 2d  eplaced the per-
315e0 69 6e 74 65 72 70 72 65 74 65 72 20 72 65 67 65  interpreter rege
315f0 78 70 20 63 61 63 68 65 20 77 69 74 68 20 61 0a  xp cache with a.
31600 70 65 72 2d 74 68 72 65 61 64 20 63 61 63 68 65  per-thread cache
31610 2e 20 20 43 68 61 6e 67 65 64 20 74 68 65 20 52  .  Changed the R
31620 65 67 65 78 70 20 6f 62 6a 65 63 74 20 74 6f 20  egexp object to 
31630 74 61 6b 65 20 61 64 76 61 6e 74 61 67 65 20 6f  take advantage o
31640 66 20 74 68 69 73 0a 65 78 74 72 61 20 63 61 63  f this.extra cac
31650 68 65 2e 20 20 41 64 64 65 64 20 61 20 72 65 66  he.  Added a ref
31660 65 72 65 6e 63 65 20 63 6f 75 6e 74 20 74 6f 20  erence count to 
31670 74 68 65 20 54 63 6c 52 65 67 65 78 70 20 74 79  the TclRegexp ty
31680 70 65 20 73 6f 20 72 65 67 65 78 70 73 0a 63 61  pe so regexps.ca
31690 6e 20 62 65 20 73 68 61 72 65 64 20 62 79 20 6d  n be shared by m
316a0 75 6c 74 69 70 6c 65 20 6f 62 6a 65 63 74 73 2e  ultiple objects.
316b0 20 20 52 65 6d 6f 76 65 64 20 74 68 65 20 70 65    Removed the pe
316c0 72 2d 69 6e 74 65 72 70 20 72 65 67 65 78 70 20  r-interp regexp 
316d0 63 61 63 68 65 0a 66 72 6f 6d 20 74 68 65 20 69  cache.from the i
316e0 6e 74 65 72 70 72 65 74 65 72 2e 20 20 4e 6f 77  nterpreter.  Now
316f0 20 72 65 67 65 78 70 73 20 63 61 6e 20 62 65 20   regexps can be 
31700 75 73 65 64 20 77 69 74 68 20 6e 6f 20 6e 65 65  used with no nee
31710 64 20 66 6f 72 20 61 6e 0a 69 6e 74 65 72 70 72  d for an.interpr
31720 65 74 65 72 2e 20 54 68 69 73 20 73 65 74 20 6f  eter. This set o
31730 66 20 63 68 61 6e 67 65 73 20 73 68 6f 75 6c 64  f changes should
31740 20 70 72 6f 76 69 64 65 20 73 69 67 6e 69 66 69   provide signifi
31750 63 61 6e 74 20 73 70 65 65 64 0a 69 6d 70 72 6f  cant speed.impro
31760 76 65 6d 65 6e 74 73 20 66 6f 72 20 6d 61 6e 79  vements for many
31770 20 54 63 6c 20 73 63 72 69 70 74 73 2e 20 20 5b   Tcl scripts.  [
31780 42 75 67 3a 20 31 30 36 33 5d 20 28 73 74 61 6e  Bug: 1063] (stan
31790 74 6f 6e 29 0a 0a 35 2f 31 34 2f 39 39 20 28 62  ton)..5/14/99 (b
317a0 75 67 20 66 69 78 29 20 44 75 72 69 6e 69 6e 67  ug fix) Durining
317b0 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20   initialization 
317c0 6f 6e 20 55 6e 69 78 2c 20 54 63 6c 20 6e 6f 77  on Unix, Tcl now
317d0 20 65 78 74 72 61 63 74 73 20 74 68 65 0a 65 6e   extracts the.en
317e0 63 6f 64 69 6e 67 20 73 75 62 66 69 65 6c 64 20  coding subfield 
317f0 66 72 6f 6d 20 74 68 65 20 4c 41 4e 47 2f 4c 43  from the LANG/LC
31800 5f 41 4c 4c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  _ALL environment
31810 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 63 61   variables in ca
31820 73 65 73 0a 77 68 65 72 65 20 74 68 65 20 6c 6f  ses.where the lo
31830 63 61 6c 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e  cale is not foun
31840 64 20 69 6e 20 74 68 65 20 62 75 69 6c 74 2d 69  d in the built-i
31850 6e 20 6c 6f 63 61 6c 65 20 74 61 62 6c 65 2e 20  n locale table. 
31860 20 49 74 20 61 6c 73 6f 0a 61 74 74 65 6d 70 74   It also.attempt
31870 73 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20  s to initialize 
31880 74 68 65 20 6c 6f 63 61 6c 65 20 73 75 62 73 79  the locale subsy
31890 73 74 65 6d 20 73 6f 20 58 31 31 20 69 73 20 68  stem so X11 is h
318a0 61 70 70 79 2e 20 5b 42 75 67 3a 20 31 39 38 39  appy. [Bug: 1989
318b0 5d 0a 28 73 74 61 6e 74 6f 6e 29 20 0a 0a 35 2f  ].(stanton) ..5/
318c0 31 34 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  14/99 (bug fix) 
318d0 41 70 70 6c 69 65 64 20 74 68 65 20 70 61 74 63  Applied the patc
318e0 68 20 74 6f 20 66 69 78 20 31 30 30 2d 79 65 61  h to fix 100-yea
318f0 72 20 61 6e 64 20 34 30 30 2d 79 65 61 72 0a 62  r and 400-year.b
31900 6f 75 6e 64 61 72 69 65 73 20 69 6e 20 6c 65 61  oundaries in lea
31910 70 20 79 65 61 72 20 63 6f 64 65 2c 20 66 72 6f  p year code, fro
31920 6d 20 49 73 61 61 63 20 48 6f 6c 6c 61 6e 64 65  m Isaac Hollande
31930 72 2e 20 20 5b 42 75 67 3a 20 32 30 36 36 5d 20  r.  [Bug: 2066] 
31940 28 72 65 64 6d 61 6e 29 0a 0a 35 2f 31 34 2f 39  (redman)..5/14/9
31950 39 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  9 (bug fix) Fixe
31960 64 20 61 20 63 72 61 73 68 20 63 61 75 73 65 64  d a crash caused
31970 20 62 79 20 61 20 66 61 69 6c 75 72 65 20 74 6f   by a failure to
31980 20 72 65 73 65 74 20 74 68 65 20 72 65 73 75 6c   reset the resul
31990 74 0a 62 65 66 6f 72 65 20 65 76 61 6c 75 61 74  t.before evaluat
319a0 69 6e 67 20 74 68 65 20 74 65 73 74 20 65 78 70  ing the test exp
319b0 72 65 73 73 69 6f 6e 20 69 6e 20 61 6e 20 75 6e  ression in an un
319c0 63 6f 6d 70 69 6c 65 64 20 66 6f 72 0a 73 74 61  compiled for.sta
319d0 74 65 6d 65 6e 74 2e 20 28 73 74 61 6e 74 6f 6e  tement. (stanton
319e0 29 0a 0a 35 2f 31 38 2f 39 39 20 28 62 75 67 20  )..5/18/99 (bug 
319f0 66 69 78 29 20 4d 6f 64 69 66 69 65 64 20 69 6e  fix) Modified in
31a00 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 63 6f 64  itialization cod
31a10 65 20 6f 6e 20 57 69 6e 64 6f 77 73 20 74 6f 20  e on Windows to 
31a20 61 76 6f 69 64 0a 69 6e 68 65 72 65 6e 74 69 6e  avoid.inherentin
31a30 67 20 63 6c 6f 73 65 64 20 6f 72 20 69 6e 76 61  g closed or inva
31a40 6c 69 64 20 63 68 61 6e 6e 65 6c 73 2e 20 20 49  lid channels.  I
31a50 66 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 69  f the standard i
31a60 6e 70 75 74 20 69 73 0a 61 6e 79 74 68 69 6e 67  nput is.anything
31a70 20 6f 74 68 65 72 20 74 68 61 6e 20 61 20 63 6f   other than a co
31a80 6e 73 6f 6c 65 2c 20 66 69 6c 65 2c 20 73 65 72  nsole, file, ser
31a90 69 61 6c 20 70 6f 72 74 2c 20 6f 72 20 70 69 70  ial port, or pip
31aa0 65 2c 20 74 68 65 6e 20 77 65 20 66 61 6c 6c 0a  e, then we fall.
31ab0 62 61 63 6b 20 74 6f 20 74 68 65 20 73 74 61 6e  back to the stan
31ac0 64 61 72 64 20 54 6b 20 77 69 6e 64 6f 77 20 63  dard Tk window c
31ad0 6f 6e 73 6f 6c 65 2e 20 28 73 74 61 6e 74 6f 6e  onsole. (stanton
31ae0 29 0a 0a 35 2f 31 39 2f 39 39 20 28 62 75 67 20  )..5/19/99 (bug 
31af0 66 69 78 29 20 41 64 64 65 64 20 61 6e 20 65 78  fix) Added an ex
31b00 74 65 72 6e 20 22 43 22 20 62 6c 6f 63 6b 20 61  tern "C" block a
31b10 72 6f 75 6e 64 20 74 68 65 20 65 6e 74 69 72 65  round the entire
31b20 20 74 63 6c 2e 68 0a 68 65 61 64 65 72 20 66 69   tcl.h.header fi
31b30 6c 65 20 74 6f 20 61 76 6f 69 64 20 43 2b 2b 20  le to avoid C++ 
31b40 6c 69 6e 6b 61 67 65 20 69 73 73 75 65 73 2e 20  linkage issues. 
31b50 28 72 65 64 6d 61 6e 29 0a 0a 35 2f 31 39 2f 39  (redman)..5/19/9
31b60 39 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  9 (new feature) 
31b70 41 70 70 6c 69 65 64 20 4a 65 66 66 20 48 6f 62  Applied Jeff Hob
31b80 62 27 73 20 70 61 74 63 68 20 74 6f 20 61 64 64  b's patch to add
31b90 0a 54 63 6c 5f 53 74 72 69 6e 67 43 61 73 65 4d  .Tcl_StringCaseM
31ba0 61 74 63 68 20 74 6f 20 73 75 70 70 6f 72 74 20  atch to support 
31bb0 63 61 73 65 20 69 6e 73 65 6e 73 69 74 69 76 65  case insensitive
31bc0 20 67 6c 6f 62 20 73 74 79 6c 65 20 6d 61 74 63   glob style matc
31bd0 68 69 6e 67 20 61 6e 64 0a 54 63 6c 5f 55 6e 69  hing and.Tcl_Uni
31be0 43 68 61 72 49 73 2a 20 63 68 61 72 61 63 74 65  CharIs* characte
31bf0 72 20 63 6c 61 73 73 69 66 69 63 61 74 69 6f 6e  r classification
31c00 20 66 75 6e 63 74 69 6f 6e 73 2e 20 28 73 74 61   functions. (sta
31c10 6e 74 6f 6e 29 0a 0a 35 2f 32 30 2f 39 39 20 28  nton)..5/20/99 (
31c20 62 75 67 20 66 69 78 29 20 41 64 64 65 64 20 74  bug fix) Added t
31c30 68 65 20 64 69 72 65 63 74 6f 72 79 20 63 6f 6e  he directory con
31c40 74 61 69 6e 69 6e 67 20 74 68 65 20 65 78 65 63  taining the exec
31c50 75 74 75 62 6c 65 20 61 6e 64 20 74 68 65 0a 2e  utuble and the..
31c60 2e 2f 6c 69 62 20 64 69 72 65 63 74 6f 72 79 20  ./lib directory 
31c70 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 61 74  relative to that
31c80 20 74 6f 20 74 68 65 20 61 75 74 6f 5f 70 61 74   to the auto_pat
31c90 68 20 76 61 72 69 61 62 6c 65 2e 20 28 72 65 64  h variable. (red
31ca0 6d 61 6e 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  man)..----------
31cb0 2d 2d 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 38  ----- Released 8
31cc0 2e 31 2e 31 2c 20 4d 61 79 20 32 35 2c 20 31 39  .1.1, May 25, 19
31cd0 39 39 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  99 -------------
31ce0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 35 2f 32 31 2f  ---------..5/21/
31cf0 39 39 20 28 62 75 67 20 66 69 78 29 20 46 69 78  99 (bug fix) Fix
31d00 65 64 20 6c 61 75 6e 63 68 69 6e 67 20 63 6f 6d  ed launching com
31d10 6d 61 6e 64 2e 63 6f 6d 20 6f 6e 20 57 69 6e 39  mand.com on Win9
31d20 35 2f 39 38 2c 20 6e 6f 20 6c 6f 6e 67 65 72 0a  5/98, no longer.
31d30 68 61 6e 67 73 2e 20 5b 42 75 67 3a 20 32 31 30  hangs. [Bug: 210
31d40 35 5d 20 28 72 65 64 6d 61 6e 29 0a 0a 35 2f 32  5] (redman)..5/2
31d50 38 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 46  8/99 (bug fix) F
31d60 69 78 65 64 20 62 75 67 20 77 68 65 72 65 20 64  ixed bug where d
31d70 64 65 20 63 61 6c 6c 73 20 77 65 72 65 20 62 65  de calls were be
31d80 69 6e 67 20 70 61 73 73 65 64 20 61 6e 0a 69 6e  ing passed an.in
31d90 76 61 6c 69 64 20 64 64 65 20 68 61 6e 64 6c 65  valid dde handle
31da0 2e 20 5b 42 75 67 3a 20 32 31 32 34 5d 20 28 73  . [Bug: 2124] (s
31db0 74 61 6e 74 6f 6e 29 0a 0a 36 2f 31 2f 39 39 20  tanton)..6/1/99 
31dc0 20 28 62 75 67 20 66 69 78 29 20 53 6d 61 6c 6c   (bug fix) Small
31dd0 20 63 6f 6e 66 69 67 75 72 65 2e 69 6e 20 70 61   configure.in pa
31de0 74 63 68 65 73 2e 20 5b 42 75 67 3a 20 32 31 32  tches. [Bug: 212
31df0 31 5d 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 36 2f  1] (stanton)..6/
31e00 31 2f 39 39 20 20 28 62 75 67 20 66 69 78 29 20  1/99  (bug fix) 
31e10 41 70 70 6c 69 65 64 20 6c 61 74 65 73 74 20 72  Applied latest r
31e20 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f  egular expressio
31e30 6e 20 70 61 74 63 68 65 73 20 74 6f 20 66 69 78  n patches to fix
31e40 20 61 6e 0a 69 6e 66 69 6e 69 74 65 20 6c 6f 6f   an.infinite loo
31e50 70 20 62 75 67 20 61 6e 64 20 61 64 64 20 73 75  p bug and add su
31e60 70 70 6f 72 74 20 66 6f 72 20 74 65 73 74 69 6e  pport for testin
31e70 67 20 77 68 65 74 68 65 72 20 61 20 73 74 72 69  g whether a stri
31e80 6e 67 20 63 6f 75 6c 64 0a 6d 61 74 63 68 20 77  ng could.match w
31e90 69 74 68 20 61 64 64 69 74 69 6f 6e 61 6c 20 69  ith additional i
31ea0 6e 70 75 74 2e 20 5b 42 75 67 3a 20 32 31 31 37  nput. [Bug: 2117
31eb0 5d 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 36 2f 32  ] (stanton)..6/2
31ec0 2f 39 39 20 20 28 62 75 67 20 66 69 78 29 20 46  /99  (bug fix) F
31ed0 69 78 65 64 20 69 6e 63 6f 72 72 65 63 74 20 63  ixed incorrect c
31ee0 6f 6d 70 75 74 61 74 69 6f 6e 20 6f 66 20 72 65  omputation of re
31ef0 6c 61 74 69 76 65 20 6f 72 64 65 72 69 6e 67 20  lative ordering 
31f00 69 6e 0a 55 74 66 20 63 61 73 65 2d 69 6e 73 65  in.Utf case-inse
31f10 6e 73 69 74 69 76 65 20 63 6f 6d 70 61 72 69 73  nsitive comparis
31f20 6f 6e 2e 20 5b 42 75 67 3a 20 32 31 33 35 5d 20  on. [Bug: 2135] 
31f30 28 73 74 61 6e 74 6f 6e 29 0a 0a 36 2f 33 2f 39  (stanton)..6/3/9
31f40 39 20 20 28 62 75 67 20 66 69 78 29 20 46 78 69  9  (bug fix) Fxi
31f50 65 64 20 62 75 67 20 77 68 65 72 65 20 73 74 72  ed bug where str
31f60 69 6e 67 20 65 71 75 61 6c 2f 63 6f 6d 70 61 72  ing equal/compar
31f70 65 20 2d 6e 6f 63 61 73 65 0a 72 65 70 6f 72 74  e -nocase.report
31f80 65 64 20 77 72 6f 6e 67 20 72 65 73 75 6c 74 20  ed wrong result 
31f90 6f 6e 20 6e 75 6c 6c 20 73 74 72 69 6e 67 73 2e  on null strings.
31fa0 20 5b 42 75 67 3a 20 32 31 33 38 5d 20 28 73 74   [Bug: 2138] (st
31fb0 61 6e 74 6f 6e 29 0a 0a 36 2f 34 2f 39 39 20 20  anton)..6/4/99  
31fc0 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 57 69  (new feature) Wi
31fd0 6e 64 6f 77 73 20 62 75 69 6c 64 20 6e 6f 77 20  ndows build now 
31fe0 75 73 65 73 20 43 79 67 77 69 6e 20 74 6f 6f 6c  uses Cygwin tool
31ff0 73 20 70 6c 75 73 20 47 4e 55 0a 6d 61 6b 65 20  s plus GNU.make 
32000 61 6e 64 20 61 75 74 6f 63 6f 6e 66 20 74 6f 20  and autoconf to 
32010 62 75 69 6c 64 20 73 74 61 74 69 63 2f 64 79 6e  build static/dyn
32020 61 6d 69 63 20 61 6e 64 20 64 65 62 75 67 2f 6e  amic and debug/n
32030 6f 64 65 62 75 67 2e 20 28 73 74 61 6e 74 6f 6e  odebug. (stanton
32040 29 0a 0a 36 2f 37 2f 39 39 20 20 28 6e 65 77 20  )..6/7/99  (new 
32050 66 65 61 74 75 72 65 29 20 4f 70 74 69 6d 69 7a  feature) Optimiz
32060 65 64 20 73 74 72 69 6e 67 20 69 6e 64 65 78 2c  ed string index,
32070 20 6c 65 6e 67 74 68 2c 20 72 61 6e 67 65 2c 20   length, range, 
32080 61 6e 64 0a 61 70 70 65 6e 64 20 63 6f 6d 6d 61  and.append comma
32090 6e 64 73 2e 20 41 64 64 65 64 20 61 20 6e 65 77  nds. Added a new
320a0 20 55 6e 69 63 6f 64 65 20 6f 62 6a 65 63 74 20   Unicode object 
320b0 74 79 70 65 2e 20 28 68 65 72 73 68 65 79 29 0a  type. (hershey).
320c0 0a 36 2f 38 2f 39 39 20 20 28 62 75 67 20 66 69  .6/8/99  (bug fi
320d0 78 29 20 52 6f 6c 6c 65 64 20 62 61 63 6b 20 57  x) Rolled back W
320e0 69 6e 64 6f 77 73 20 73 6f 63 6b 65 74 20 64 72  indows socket dr
320f0 69 76 65 72 20 74 6f 20 38 2e 31 2e 30 0a 76 65  iver to 8.1.0.ve
32100 72 73 69 6f 6e 2e 20 28 73 74 61 6e 74 6f 6e 29  rsion. (stanton)
32110 0a 0a 36 2f 39 2f 39 39 20 20 28 6e 65 77 20 66  ..6/9/99  (new f
32120 65 61 74 75 72 65 29 20 41 64 64 65 64 20 54 63  eature) Added Tc
32130 6c 5f 52 65 67 45 78 70 4d 61 74 63 68 4f 62 6a  l_RegExpMatchObj
32140 20 61 6e 64 20 54 63 6c 5f 52 65 67 45 78 70 47   and Tcl_RegExpG
32150 65 74 49 6e 66 6f 0a 74 6f 20 70 75 62 6c 69 63  etInfo.to public
32160 20 54 63 6c 20 41 50 49 2c 20 74 68 65 73 65 20   Tcl API, these 
32170 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6e 65  functions are ne
32180 65 64 65 64 20 62 79 20 45 78 70 65 63 74 2e 20  eded by Expect. 
32190 20 43 68 61 6e 67 65 64 0a 74 6f 6f 6c 73 2f 67   Changed.tools/g
321a0 65 6e 53 74 75 62 73 2e 74 63 6c 20 74 6f 20 61  enStubs.tcl to a
321b0 6c 77 61 79 73 20 77 72 69 74 65 20 6f 75 74 70  lways write outp
321c0 75 74 20 69 6e 20 4c 46 20 6d 6f 64 65 2e 20 28  ut in LF mode. (
321d0 73 74 61 6e 74 6f 6e 29 0a 0a 36 2f 31 34 2f 39  stanton)..6/14/9
321e0 39 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  9 (new feature) 
321f0 4d 65 72 67 65 64 20 73 74 72 69 6e 67 20 61 6e  Merged string an
32200 64 20 55 6e 69 63 6f 64 65 20 6f 62 6a 65 63 74  d Unicode object
32210 20 74 79 70 65 73 2e 20 20 41 64 64 65 64 0a 6e   types.  Added.n
32220 65 77 20 70 75 62 6c 69 63 20 54 63 6c 20 41 50  ew public Tcl AP
32230 49 20 66 75 6e 63 74 69 6f 6e 73 3a 20 20 54 63  I functions:  Tc
32240 6c 5f 4e 65 77 55 6e 69 63 6f 64 65 4f 62 6a 2c  l_NewUnicodeObj,
32250 20 54 63 6c 5f 53 65 74 55 6e 69 63 6f 64 65 4f   Tcl_SetUnicodeO
32260 62 6a 2c 0a 54 63 6c 5f 47 65 74 55 6e 69 63 6f  bj,.Tcl_GetUnico
32270 64 65 2c 20 54 63 6c 5f 47 65 74 55 6e 69 43 68  de, Tcl_GetUniCh
32280 61 72 2c 20 54 63 6c 5f 47 65 74 43 68 61 72 4c  ar, Tcl_GetCharL
32290 65 6e 67 74 68 2c 20 54 63 6c 5f 47 65 74 52 61  ength, Tcl_GetRa
322a0 6e 67 65 2c 0a 54 63 6c 5f 41 70 70 65 6e 64 55  nge,.Tcl_AppendU
322b0 6e 69 63 6f 64 65 54 6f 4f 62 6a 2e 20 28 68 65  nicodeToObj. (he
322c0 72 73 68 65 79 29 0a 0a 36 2f 31 36 2f 39 39 20  rshey)..6/16/99 
322d0 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 43 68  (new feature) Ch
322e0 61 6e 67 65 64 20 74 6f 20 63 6f 6e 66 6f 72 6d  anged to conform
322f0 20 74 6f 20 54 45 41 20 73 70 65 63 69 66 69 63   to TEA specific
32300 61 74 69 6f 6e 2c 20 61 64 64 65 64 0a 74 63 6c  ation, added.tcl
32310 2e 6d 34 20 61 6e 64 20 61 63 6c 6f 63 61 6c 2e  .m4 and aclocal.
32320 6d 34 20 6d 61 63 72 6f 20 6c 69 62 72 61 72 69  m4 macro librari
32330 65 73 20 66 6f 72 20 63 6f 6e 66 69 67 75 72 65  es for configure
32340 2e 20 20 28 77 61 72 74 29 0a 0a 36 2f 31 37 2f  .  (wart)..6/17/
32350 39 39 20 28 6e 65 77 20 66 65 61 74 75 72 65 29  99 (new feature)
32360 20 41 64 64 65 64 20 6e 65 77 20 72 65 67 65 78   Added new regex
32370 70 20 69 6e 74 65 72 66 61 63 65 73 3a 20 2d 65  p interfaces: -e
32380 78 70 61 6e 64 65 64 2c 20 2d 6c 69 6e 65 2c 0a  xpanded, -line,.
32390 2d 6c 69 6e 65 73 74 6f 70 2c 20 61 6e 64 20 2d  -linestop, and -
323a0 6c 69 6e 65 61 6e 63 68 6f 72 20 73 77 69 74 63  lineanchor switc
323b0 68 65 73 2e 20 20 52 65 6e 61 6d 65 64 20 54 63  hes.  Renamed Tc
323c0 6c 5f 52 65 67 45 78 70 4d 61 74 63 68 4f 62 6a  l_RegExpMatchObj
323d0 20 74 6f 0a 54 63 6c 5f 52 65 67 45 78 70 45 78   to.Tcl_RegExpEx
323e0 65 63 4f 62 6a 20 61 6e 64 20 61 64 64 65 64 20  ecObj and added 
323f0 6e 65 77 20 54 63 6c 5f 52 65 67 45 78 70 4d 61  new Tcl_RegExpMa
32400 74 63 68 4f 62 6a 20 74 68 61 74 20 69 73 20 65  tchObj that is e
32410 71 75 69 76 61 6c 65 6e 74 0a 74 6f 20 54 63 6c  quivalent.to Tcl
32420 5f 52 65 67 45 78 70 4d 61 74 63 68 2e 20 20 41  _RegExpMatch.  A
32430 64 64 65 64 20 70 75 62 6c 69 63 20 6d 61 63 72  dded public macr
32440 6f 73 20 66 6f 72 20 72 65 67 65 78 70 20 66 6c  os for regexp fl
32450 61 67 73 2e 20 20 41 64 64 65 64 0a 52 45 47 5f  ags.  Added.REG_
32460 42 4f 53 4f 4e 4c 59 20 66 6c 61 67 20 74 6f 20  BOSONLY flag to 
32470 61 6c 6c 6f 77 20 45 78 70 65 63 74 20 74 6f 20  allow Expect to 
32480 69 74 65 72 61 74 65 20 74 68 72 6f 75 67 68 20  iterate through 
32490 61 20 73 74 72 69 6e 67 20 61 6e 64 20 6f 6e 6c  a string and onl
324a0 79 0a 66 69 6e 64 20 6d 61 74 63 68 65 73 20 74  y.find matches t
324b0 68 61 74 20 73 74 61 72 74 20 61 74 20 74 68 65  hat start at the
324c0 20 63 75 72 72 65 6e 74 20 70 6f 73 69 74 69 6f   current positio
324d0 6e 20 77 69 74 68 69 6e 20 74 68 65 0a 73 74 72  n within the.str
324e0 69 6e 67 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a  ing. (stanton)..
324f0 36 2f 32 31 2f 39 39 20 28 62 75 67 20 66 69 78  6/21/99 (bug fix
32500 29 20 46 69 78 65 64 20 6d 65 6d 6f 72 79 20 6c  ) Fixed memory l
32510 65 61 6b 20 69 6e 20 54 63 6c 70 54 68 72 65 61  eak in TclpThrea
32520 64 43 72 65 61 74 65 20 77 68 65 72 65 20 74 68  dCreate where th
32530 72 65 61 64 0a 61 74 74 72 69 62 75 74 65 73 20  read.attributes 
32540 77 65 72 65 20 6e 6f 74 20 62 65 69 6e 67 20 72  were not being r
32550 65 6c 65 61 73 65 64 2e 20 20 5b 42 75 67 3a 20  eleased.  [Bug: 
32560 32 32 35 34 5d 20 28 73 74 61 6e 74 6f 6e 29 0a  2254] (stanton).
32570 0a 36 2f 32 33 2f 39 39 20 28 6e 65 77 20 66 65  .6/23/99 (new fe
32580 61 74 75 72 65 29 20 55 70 64 61 74 65 64 20 55  ature) Updated U
32590 6e 69 63 6f 64 65 20 63 68 61 72 61 63 74 65 72  nicode character
325a0 20 74 61 62 6c 65 73 20 74 6f 20 72 65 66 6c 65   tables to refle
325b0 63 74 0a 55 6e 69 63 6f 64 65 20 32 2e 31 20 64  ct.Unicode 2.1 d
325c0 61 74 61 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a  ata. (stanton)..
325d0 36 2f 32 35 2f 39 39 20 28 6e 65 77 20 66 65 61  6/25/99 (new fea
325e0 74 75 72 65 29 20 46 69 78 65 64 20 62 75 67 73  ture) Fixed bugs
325f0 20 69 6e 20 6e 6f 6e 2d 67 72 65 65 64 79 20 71   in non-greedy q
32600 75 61 6e 74 69 66 69 65 72 73 20 66 6f 72 20 72  uantifiers for r
32610 65 67 75 6c 61 72 0a 65 78 70 72 65 73 73 69 6f  egular.expressio
32620 6e 20 63 6f 64 65 2e 20 28 73 74 61 6e 74 6f 6e  n code. (stanton
32630 29 0a 0a 36 2f 32 35 2f 39 39 20 28 6e 65 77 20  )..6/25/99 (new 
32640 66 65 61 74 75 72 65 29 20 41 64 64 65 64 20 69  feature) Added i
32650 6e 69 74 69 61 6c 20 69 6d 70 6c 65 6d 65 6e 74  nitial implement
32660 61 74 69 6f 6e 20 6f 66 20 6e 65 77 20 54 63 6c  ation of new Tcl
32670 20 74 65 73 74 0a 68 61 72 6e 65 73 73 20 70 61   test.harness pa
32680 63 6b 61 67 65 2e 20 20 4d 6f 64 69 66 69 65 64  ckage.  Modified
32690 20 74 65 73 74 20 66 69 6c 65 73 20 74 6f 20 75   test files to u
326a0 73 65 20 6e 65 77 20 74 63 6c 74 65 73 74 20 70  se new tcltest p
326b0 61 63 6b 61 67 65 2e 0a 28 6a 65 6e 6e 29 0a 0a  ackage..(jenn)..
326c0 36 2f 32 36 2f 39 39 20 28 6e 65 77 20 66 65 61  6/26/99 (new fea
326d0 74 75 72 65 29 20 41 70 70 6c 69 65 64 20 70 61  ture) Applied pa
326e0 74 63 68 20 66 72 6f 6d 20 50 65 74 65 72 20 48  tch from Peter H
326f0 61 72 64 69 65 20 74 6f 20 61 64 64 20 70 6f 6b  ardie to add pok
32700 65 0a 63 6f 6d 6d 61 6e 64 20 74 6f 20 64 64 65  e.command to dde
32710 20 61 6e 64 20 63 68 61 6e 67 65 64 20 74 68 65   and changed the
32720 20 64 64 65 20 70 61 63 6b 61 67 65 20 76 65 72   dde package ver
32730 73 69 6f 6e 20 6e 75 6d 62 65 72 20 74 6f 0a 31  sion number to.1
32740 2e 31 2e 20 28 72 65 64 6d 61 6e 29 20 0a 0a 36  .1. (redman) ..6
32750 2f 32 38 2f 39 39 20 28 62 75 67 20 66 69 78 29  /28/99 (bug fix)
32760 20 41 70 70 6c 69 65 64 20 70 61 74 63 68 20 66   Applied patch f
32770 72 6f 6d 20 50 65 74 65 72 20 48 61 72 64 69 65  rom Peter Hardie
32780 20 74 6f 20 66 69 78 20 70 72 6f 62 6c 65 6d 20   to fix problem 
32790 69 6e 0a 54 63 6c 5f 47 65 74 49 6e 64 65 78 46  in.Tcl_GetIndexF
327a0 72 6f 6d 4f 62 6a 28 29 20 77 68 65 6e 20 74 68  romObj() when th
327b0 65 20 6b 65 79 20 62 65 69 6e 67 20 70 61 73 73  e key being pass
327c0 65 64 20 69 73 20 74 68 65 20 65 6d 70 74 79 20  ed is the empty 
327d0 73 74 72 69 6e 67 2e 0a 5b 42 75 67 3a 20 31 37  string..[Bug: 17
327e0 33 38 5d 20 28 72 65 64 6d 61 6e 29 0a 0a 36 2f  38] (redman)..6/
327f0 32 39 2f 39 39 20 28 6e 65 77 20 66 65 61 74 75  29/99 (new featu
32800 72 65 29 20 41 64 64 65 64 20 6f 70 74 69 6f 6e  re) Added option
32810 73 20 74 6f 20 74 63 6c 74 65 73 74 20 70 61 63  s to tcltest pac
32820 6b 61 67 65 3a 20 2d 70 72 65 73 65 72 76 65 63  kage: -preservec
32830 6f 72 65 2c 0a 2d 6c 69 6d 69 74 63 6f 6e 73 74  ore,.-limitconst
32840 72 61 69 6e 74 73 2c 20 2d 68 65 6c 70 2c 20 2d  raints, -help, -
32850 66 69 6c 65 2c 20 2d 6e 6f 74 66 69 6c 65 2c 20  file, -notfile, 
32860 61 6e 64 20 66 6c 61 67 73 2e 20 20 28 6a 65 6e  and flags.  (jen
32870 6e 29 0a 0a 37 2f 33 2f 39 39 20 20 28 6e 65 77  n)..7/3/99  (new
32880 20 66 65 61 74 75 72 65 29 20 43 68 61 6e 67 65   feature) Change
32890 64 20 70 61 72 73 69 6e 67 20 6f 66 20 76 61 72  d parsing of var
328a0 69 61 62 6c 65 20 6e 61 6d 65 73 20 74 6f 20 61  iable names to a
328b0 6c 6c 6f 77 20 65 6d 70 74 79 0a 61 72 72 61 79  llow empty.array
328c0 20 6e 61 6d 65 73 2e 20 20 4e 6f 77 20 22 24 28   names.  Now "$(
328d0 66 6f 6f 29 22 20 69 73 20 61 20 76 61 72 69 61  foo)" is a varia
328e0 62 6c 65 20 72 65 66 65 72 65 6e 63 65 2e 20 20  ble reference.  
328f0 50 72 65 76 69 6f 75 73 6c 79 20 79 6f 75 0a 68  Previously you.h
32900 61 64 20 74 6f 20 75 73 65 20 73 6f 6d 65 74 68  ad to use someth
32910 69 6e 67 20 6c 69 6e 65 20 24 3a 3a 28 66 6f 6f  ing line $::(foo
32920 29 2c 20 77 68 69 63 68 20 69 73 20 73 6c 6f 77  ), which is slow
32930 65 72 2e 20 20 54 68 69 73 20 63 68 61 6e 67 65  er.  This change
32940 20 77 61 73 0a 72 65 71 75 65 73 74 65 64 20 62   was.requested b
32950 79 20 4a 65 61 6e 2d 4c 75 63 20 46 6f 6e 74 61  y Jean-Luc Fonta
32960 69 6e 65 20 66 6f 72 20 68 69 73 20 53 54 4f 4f  ine for his STOO
32970 4f 50 20 70 61 63 6b 61 67 65 2e 20 28 77 65 6c  OP package. (wel
32980 63 68 29 0a 0a 37 2f 33 2f 39 39 20 20 28 6e 65  ch)..7/3/99  (ne
32990 77 20 66 65 61 74 75 72 65 29 20 41 64 64 65 64  w feature) Added
329a0 20 54 63 6c 5f 53 65 74 4e 6f 74 69 66 69 65 72   Tcl_SetNotifier
329b0 20 28 70 75 62 6c 69 63 20 41 50 49 29 20 61 6e   (public API) an
329c0 64 0a 61 73 73 6f 63 69 61 74 65 64 20 68 6f 6f  d.associated hoo
329d0 6b 20 70 6f 69 6e 74 73 20 69 6e 20 74 68 65 20  k points in the 
329e0 6e 6f 74 69 66 69 65 72 73 20 74 6f 20 62 65 20  notifiers to be 
329f0 61 62 6c 65 20 74 6f 20 72 65 70 6c 61 63 65 20  able to replace 
32a00 74 68 65 0a 6e 6f 74 69 66 69 65 72 20 63 61 6c  the.notifier cal
32a10 6c 73 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 54  ls at runtime. T
32a20 68 65 20 58 74 20 6e 6f 74 69 66 69 65 72 20 61  he Xt notifier a
32a30 6e 64 20 74 65 73 74 20 70 72 6f 67 72 61 6d 20  nd test program 
32a40 75 73 65 20 74 68 69 73 0a 68 6f 6f 6b 2e 20 20  use this.hook.  
32a50 28 77 65 6c 63 68 29 0a 0a 37 2f 33 2f 39 39 20  (welch)..7/3/99 
32a60 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20 41   (new feature) A
32a70 64 64 65 64 20 61 20 6e 65 77 20 76 61 72 69 61  dded a new varia
32a80 6e 74 20 6f 66 20 74 68 65 20 22 54 72 66 20 63  nt of the "Trf c
32a90 6f 72 65 20 70 61 74 63 68 22 20 66 72 6f 6d 0a  ore patch" from.
32aa0 41 6e 64 72 65 61 73 20 4b 75 70 72 69 65 73 20  Andreas Kupries 
32ab0 74 68 61 74 20 61 64 64 73 20 6e 65 77 20 43 20  that adds new C 
32ac0 41 50 49 73 20 54 63 6c 5f 53 74 61 63 6b 43 68  APIs Tcl_StackCh
32ad0 61 6e 6e 65 6c 2c 0a 54 63 6c 5f 55 6e 73 74 61  annel,.Tcl_Unsta
32ae0 63 6b 43 68 61 6e 6e 65 6c 2c 20 61 6e 64 20 54  ckChannel, and T
32af0 63 6c 5f 47 65 74 53 74 61 63 6b 65 64 43 68 61  cl_GetStackedCha
32b00 6e 6e 65 6c 2e 20 20 54 68 69 73 20 61 6c 6c 6f  nnel.  This allo
32b10 77 73 20 74 68 65 20 54 72 66 0a 65 78 74 65 6e  ws the Trf.exten
32b20 73 69 6f 6e 20 74 6f 20 77 6f 72 6b 20 77 69 74  sion to work wit
32b30 68 6f 75 74 20 61 70 70 6c 79 69 6e 67 20 70 61  hout applying pa
32b40 74 63 68 65 73 20 74 6f 20 74 68 65 20 54 63 6c  tches to the Tcl
32b50 20 63 6f 72 65 2e 20 28 77 65 6c 63 68 29 0a 0a   core. (welch)..
32b60 37 2f 36 2f 39 39 20 20 28 6e 65 77 20 66 65 61  7/6/99  (new fea
32b70 74 75 72 65 29 20 41 64 64 65 64 20 2d 74 69 6d  ture) Added -tim
32b80 65 6f 75 74 20 6f 70 74 69 6f 6e 20 74 6f 20 68  eout option to h
32b90 74 74 70 2e 74 63 6c 20 74 6f 20 68 61 6e 64 6c  ttp.tcl to handl
32ba0 65 0a 74 69 6d 65 6f 75 74 73 20 74 68 61 74 20  e.timeouts that 
32bb0 6f 63 63 75 72 20 64 75 72 69 6e 67 20 63 6f 6e  occur during con
32bc0 6e 65 63 74 69 6f 6e 20 61 74 74 65 6d 70 74 73  nection attempts
32bd0 20 74 6f 20 68 6f 73 74 73 20 74 68 61 74 20 61   to hosts that a
32be0 72 65 0a 64 6f 77 6e 2e 20 28 77 65 6c 63 68 29  re.down. (welch)
32bf0 0a 0a 37 2f 36 2f 39 39 20 20 28 62 75 67 20 66  ..7/6/99  (bug f
32c00 69 78 29 20 41 70 70 6c 69 65 64 20 6e 65 77 20  ix) Applied new 
32c10 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f  implementation o
32c20 66 20 74 68 65 20 57 69 6e 64 6f 77 73 20 73 65  f the Windows se
32c30 72 69 61 6c 0a 70 6f 72 74 20 64 72 69 76 65 72  rial.port driver
32c40 20 66 72 6f 6d 20 52 6f 6c 66 20 53 63 68 72 6f   from Rolf Schro
32c50 65 64 74 65 72 20 74 68 61 74 20 66 69 78 65 73  edter that fixes
32c60 20 72 65 61 64 69 6e 67 20 6f 6e 6c 79 20 6f 6e   reading only on
32c70 65 20 62 79 74 65 20 66 72 6f 6d 0a 74 68 65 20  e byte from.the 
32c80 70 6f 72 74 20 61 74 20 61 20 74 69 6d 65 2e 20  port at a time. 
32c90 20 55 73 65 73 20 70 6f 6c 6c 69 6e 67 20 65 76   Uses polling ev
32ca0 65 72 79 20 31 30 6d 73 20 74 6f 20 69 6d 70 6c  ery 10ms to impl
32cb0 65 6d 65 6e 74 0a 66 69 6c 65 65 76 65 6e 74 73  ement.fileevents
32cc0 2e 20 5b 42 75 67 3a 20 31 39 38 30 20 32 32 31  . [Bug: 1980 221
32cd0 37 5d 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 38  7] (redman)..7/8
32ce0 2f 39 39 20 20 28 62 75 67 20 66 69 78 29 20 41  /99  (bug fix) A
32cf0 70 70 6c 69 65 64 20 66 69 78 20 66 6f 72 20 62  pplied fix for b
32d00 75 67 20 69 6e 20 44 46 41 20 73 74 61 74 65 20  ug in DFA state 
32d10 63 61 63 68 69 6e 67 20 75 6e 64 65 72 0a 6c 6f  caching under.lo
32d20 6f 6b 61 68 65 61 64 20 63 6f 6e 64 69 74 69 6f  okahead conditio
32d30 6e 73 20 28 72 65 67 75 6c 61 72 20 65 78 70 72  ns (regular expr
32d40 65 73 73 69 6f 6e 73 29 2e 20 20 5b 42 75 67 3a  essions).  [Bug:
32d50 20 32 33 31 38 5d 20 28 73 74 61 6e 74 6f 6e 29   2318] (stanton)
32d60 0a 0a 37 2f 38 2f 39 39 20 20 28 62 75 67 20 66  ..7/8/99  (bug f
32d70 69 78 29 20 46 69 78 65 64 20 62 75 67 20 69 6e  ix) Fixed bug in
32d80 20 73 74 72 69 6e 67 20 72 61 6e 67 65 20 62 6f   string range bo
32d90 75 6e 64 73 20 63 68 65 63 6b 69 6e 67 0a 63 6f  unds checking.co
32da0 64 65 2e 20 28 73 74 61 6e 74 6f 6e 29 0a 0a 2d  de. (stanton)..-
32db0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52  -------------- R
32dc0 65 6c 65 61 73 65 64 20 38 2e 32 62 31 2c 20 4a  eleased 8.2b1, J
32dd0 75 6c 79 20 31 34 2c 20 31 39 39 39 20 2d 2d 2d  uly 14, 1999 ---
32de0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
32df0 2d 2d 2d 0a 0a 37 2f 31 36 2f 39 39 20 28 62 75  ---..7/16/99 (bu
32e00 67 20 66 69 78 29 20 41 64 64 65 64 20 54 63 6c  g fix) Added Tcl
32e10 5f 53 65 74 4e 6f 74 69 66 69 65 72 20 74 6f 20  _SetNotifier to 
32e20 73 74 75 62 20 74 61 62 6c 65 2e 20 5b 42 75 67  stub table. [Bug
32e30 3a 20 32 33 36 34 5d 0a 41 64 64 65 64 20 63 68  : 2364].Added ch
32e40 65 63 6b 20 66 6f 72 20 41 6c 70 68 61 2f 4c 69  eck for Alpha/Li
32e50 6e 75 78 20 74 6f 20 63 6f 72 72 65 63 74 20 74  nux to correct t
32e60 68 65 20 49 45 45 45 20 20 66 6c 6f 61 74 69 6e  he IEEE  floatin
32e70 67 20 70 6f 69 6e 74 20 66 6c 61 67 2c 0a 70 61  g point flag,.pa
32e80 74 63 68 20 66 72 6f 6d 20 44 6f 6e 20 50 6f 72  tch from Don Por
32e90 74 65 72 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 37  ter. (redman)..7
32ea0 2f 32 30 2f 39 39 20 28 62 75 67 20 66 69 78 29  /20/99 (bug fix)
32eb0 20 4d 65 72 67 65 64 20 38 2e 30 2e 35 20 63 6f   Merged 8.0.5 co
32ec0 64 65 20 74 6f 20 68 61 6e 64 6c 65 20 74 63 6c  de to handle tcl
32ed0 5f 6c 69 62 72 61 72 79 20 70 72 6f 70 65 72 6c  _library properl
32ee0 79 2c 0a 61 6c 73 6f 20 66 69 78 65 64 20 61 20  y,.also fixed a 
32ef0 62 75 67 20 74 68 61 74 20 63 61 75 73 65 64 20  bug that caused 
32f00 54 43 4c 5f 4c 49 42 52 41 52 59 20 74 6f 20 62  TCL_LIBRARY to b
32f10 65 20 69 67 6e 6f 72 65 64 2e 20 28 68 65 72 73  e ignored. (hers
32f20 68 65 79 29 0a 0a 37 2f 32 31 2f 39 39 20 28 62  hey)..7/21/99 (b
32f30 75 67 20 66 69 78 29 20 49 6d 70 6c 65 6d 65 6e  ug fix) Implemen
32f40 74 65 64 20 6d 6f 64 69 66 69 65 64 20 73 6f 63  ted modified soc
32f50 6b 65 74 20 64 72 69 76 65 72 20 66 6f 72 20 57  ket driver for W
32f60 69 6e 64 6f 77 73 20 74 68 61 74 0a 75 73 65 73  indows that.uses
32f70 20 61 20 74 68 72 65 61 64 20 74 6f 20 6d 61 6e   a thread to man
32f80 61 67 65 20 74 68 65 20 73 6f 63 6b 65 74 20 65  age the socket e
32f90 76 65 6e 74 20 77 69 6e 64 6f 77 2e 20 20 43 6f  vent window.  Co
32fa0 64 65 20 77 6f 72 6b 73 20 74 68 65 20 73 61 6d  de works the sam
32fb0 65 0a 6f 6e 20 61 6c 6c 20 73 75 70 70 6f 72 74  e.on all support
32fc0 65 64 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 57  ed versions of W
32fd0 69 6e 64 6f 77 73 20 61 6e 64 20 77 61 73 20 62  indows and was b
32fe0 61 73 65 64 20 6f 6e 20 6f 72 69 67 69 6e 61 6c  ased on original
32ff0 20 38 2e 31 2e 30 0a 63 6f 64 65 2e 20 20 5b 42   8.1.0.code.  [B
33000 75 67 3a 20 32 31 37 38 20 32 32 35 36 20 32 32  ug: 2178 2256 22
33010 35 39 20 32 33 32 39 20 32 33 32 33 20 32 33 35  59 2329 2323 235
33020 35 5d 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 32  5] (redman)..7/2
33030 31 2f 39 39 20 28 6e 65 77 20 66 65 61 74 75 72  1/99 (new featur
33040 65 29 20 41 70 70 6c 69 65 64 20 70 61 74 63 68  e) Applied patch
33050 20 66 72 6f 6d 20 52 6f 6c 66 20 53 63 68 72 6f   from Rolf Schro
33060 65 64 74 65 72 20 74 6f 20 61 64 64 0a 2d 70 6f  edter to add.-po
33070 6c 6c 69 6e 74 65 72 76 61 6c 20 6f 70 74 69 6f  llinterval optio
33080 6e 20 74 6f 20 66 63 6f 6e 66 69 67 75 72 65 20  n to fconfigure 
33090 66 6f 72 20 57 69 6e 64 6f 77 73 20 73 65 72 69  for Windows seri
330a0 61 6c 20 70 6f 72 74 73 2e 20 20 41 6c 6c 6f 77  al ports.  Allow
330b0 73 0a 74 68 65 20 6d 61 78 62 6c 6f 63 6b 74 69  s.the maxblockti
330c0 6d 65 20 74 6f 20 62 65 20 6d 6f 64 69 66 69 65  me to be modifie
330d0 64 20 74 6f 20 63 6f 6e 74 72 6f 6c 20 68 6f 77  d to control how
330e0 20 6f 66 74 65 6e 20 73 65 72 69 61 6c 20 70 6f   often serial po
330f0 72 74 73 20 61 72 65 0a 63 68 65 63 6b 65 64 20  rts are.checked 
33100 66 6f 72 20 66 69 6c 65 65 76 65 6e 74 73 2e 20  for fileevents. 
33110 20 41 6c 73 6f 20 61 64 64 65 64 20 64 6f 63 75   Also added docu
33120 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 5c 5c  mentation for \\
33130 2e 5c 63 6f 6d 58 0a 6e 6f 74 61 74 69 6f 6e 20  .\comX.notation 
33140 66 6f 72 20 6f 70 65 6e 69 6e 67 20 73 65 72 69  for opening seri
33150 61 6c 20 70 6f 72 74 73 20 6f 6e 20 57 69 6e 64  al ports on Wind
33160 6f 77 73 2e 20 20 28 72 65 64 6d 61 6e 29 0a 0a  ows.  (redman)..
33170 37 2f 32 31 2f 39 39 20 28 62 75 67 20 66 69 78  7/21/99 (bug fix
33180 29 20 43 68 61 6e 67 65 64 20 41 50 49 73 20 69  ) Changed APIs i
33190 6e 20 73 74 75 62 20 74 61 62 6c 65 73 20 74 6f  n stub tables to
331a0 20 75 73 65 20 22 75 6e 73 69 67 6e 65 64 20 6c   use "unsigned l
331b0 6f 6e 67 22 0a 69 6e 73 74 65 61 64 20 6f 66 20  ong".instead of 
331c0 74 68 65 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65  the platform-spe
331d0 63 69 66 69 63 20 22 73 69 7a 65 5f 74 22 2c 20  cific "size_t", 
331e0 70 72 69 6d 61 72 69 6c 79 20 61 66 74 65 72 20  primarily after 
331f0 53 75 6e 4f 53 20 34 0a 75 73 65 72 73 20 63 6f  SunOS 4.users co
33200 75 6c 64 20 6e 6f 20 6c 6f 6e 67 65 72 20 63 6f  uld no longer co
33210 6d 70 69 6c 65 2e 20 28 72 65 64 6d 61 6e 29 0a  mpile. (redman).
33220 0a 37 2f 32 32 2f 39 39 20 28 62 75 67 20 66 69  .7/22/99 (bug fi
33230 78 29 20 46 69 78 65 64 20 63 72 61 73 68 69 6e  x) Fixed crashin
33240 67 20 64 75 72 69 6e 67 20 22 61 72 72 61 79 20  g during "array 
33250 73 65 74 20 61 28 62 29 20 7b 7d 22 2e 20 0a 5b  set a(b) {}". .[
33260 42 75 67 3a 20 32 34 32 37 5d 20 28 72 65 64 6d  Bug: 2427] (redm
33270 61 6e 29 0a 0a 37 2f 32 32 2f 39 39 20 28 62 75  an)..7/22/99 (bu
33280 67 20 66 69 78 29 20 54 68 65 20 69 6e 73 74 61  g fix) The insta
33290 6c 6c 2d 73 68 20 73 63 72 69 70 74 20 6d 75 73  ll-sh script mus
332a0 74 20 62 65 20 67 69 76 65 6e 20 65 78 65 63 75  t be given execu
332b0 74 65 0a 70 65 72 6d 69 73 73 69 6f 6e 73 20 70  te.permissions p
332c0 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 2e  rior to running.
332d0 20 20 5b 42 75 67 3a 20 32 34 31 33 5d 20 28 72    [Bug: 2413] (r
332e0 65 64 6d 61 6e 29 0a 0a 37 2f 32 32 2f 39 39 20  edman)..7/22/99 
332f0 28 62 75 67 20 66 69 78 29 20 41 70 70 6c 69 65  (bug fix) Applie
33300 64 20 70 61 74 63 68 20 66 72 6f 6d 20 55 6c 72  d patch from Ulr
33310 69 63 68 20 52 69 6e 67 20 74 6f 20 72 65 6d 6f  ich Ring to remo
33320 76 65 20 41 4e 53 49 2d 73 74 79 6c 65 0a 70 72  ve ANSI-style.pr
33330 6f 74 6f 74 79 70 65 73 20 69 6e 20 74 68 65 20  ototypes in the 
33340 63 6f 64 65 2e 20 20 5b 42 75 67 3a 20 32 33 39  code.  [Bug: 239
33350 31 5d 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 32  1] (redman)..7/2
33360 32 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 41  2/99 (bug fix) A
33370 64 64 65 64 20 23 69 66 20 62 6c 6f 63 6b 73 20  dded #if blocks 
33380 61 72 6f 75 6e 64 20 23 69 6e 63 6c 75 64 65 73  around #includes
33390 20 6f 66 20 73 79 73 2f 2a 2e 68 20 68 65 61 64   of sys/*.h head
333a0 65 72 0a 66 69 6c 65 73 2c 20 74 6f 20 61 6c 6c  er.files, to all
333b0 6f 77 20 61 6e 20 65 78 74 65 6e 73 69 6f 6e 20  ow an extension 
333c0 61 75 74 68 6f 72 20 6f 6e 20 57 69 6e 64 6f 77  author on Window
333d0 73 20 74 6f 20 75 73 65 20 74 68 65 20 4d 65 74  s to use the Met
333e0 72 6f 57 65 72 6b 73 0a 63 6f 6d 70 69 6c 65 72  roWerks.compiler
333f0 2e 20 5b 42 75 67 3a 20 32 33 38 35 5d 20 28 72  . [Bug: 2385] (r
33400 65 64 6d 61 6e 29 0a 0a 37 2f 32 32 2f 39 39 20  edman)..7/22/99 
33410 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
33420 72 75 6e 6e 69 6e 67 20 74 68 65 20 73 61 66 65  running the safe
33430 2e 74 65 73 74 20 74 65 73 74 20 73 75 69 74 65  .test test suite
33440 2c 20 6f 6e 65 20 63 68 61 6e 67 65 0a 74 6f 20  , one change.to 
33450 74 68 65 20 57 69 6e 64 6f 77 73 20 4d 61 6b 65  the Windows Make
33460 66 69 6c 65 2e 69 6e 20 74 6f 20 66 69 78 20 70  file.in to fix p
33470 61 74 68 73 20 61 6e 64 20 61 6e 6f 74 68 65 72  aths and another
33480 20 69 6e 20 73 61 66 65 2e 74 65 73 74 20 74 6f   in safe.test to
33490 0a 63 68 65 63 6b 20 66 6f 72 20 74 68 65 20 74  .check for the t
334a0 63 6c 5f 70 6c 61 74 66 6f 72 6d 28 74 68 72 65  cl_platform(thre
334b0 61 64 65 64 29 20 76 61 72 69 61 62 6c 65 20 70  aded) variable p
334c0 72 6f 70 65 72 6c 79 2e 20 28 72 65 64 6d 61 6e  roperly. (redman
334d0 29 0a 0a 37 2f 32 32 2f 39 39 20 28 62 75 67 20  )..7/22/99 (bug 
334e0 66 69 78 29 20 46 69 78 65 64 20 68 61 6e 67 69  fix) Fixed hangi
334f0 6e 67 20 69 6e 20 6e 65 77 20 57 69 6e 33 32 20  ng in new Win32 
33500 73 6f 63 6b 65 74 20 64 72 69 76 65 72 20 77 69  socket driver wi
33510 74 68 0a 74 68 72 65 61 64 73 20 65 6e 61 62 6c  th.threads enabl
33520 65 64 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f  ed. (redman)..7/
33530 32 36 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  26/99 (bug fix) 
33540 46 69 78 65 64 20 74 65 72 6d 69 6e 61 74 69 6e  Fixed terminatin
33550 67 20 6f 66 20 68 65 6c 70 65 72 20 74 68 72 65  g of helper thre
33560 61 64 73 20 62 79 20 68 6f 6c 64 69 6e 67 20 61  ads by holding a
33570 6e 79 0a 6d 75 74 65 78 65 73 20 66 72 6f 6d 20  ny.mutexes from 
33580 74 68 65 20 70 72 69 6d 61 72 79 20 74 68 72 65  the primary thre
33590 61 64 20 77 68 69 6c 65 20 77 61 69 74 69 6e 67  ad while waiting
335a0 20 66 6f 72 20 74 68 65 20 68 65 6c 70 65 72 20   for the helper 
335b0 74 68 72 65 61 64 20 74 6f 0a 74 65 72 6d 69 6e  thread to.termin
335c0 61 74 65 2e 20 20 46 69 78 65 73 20 64 75 61 6c  ate.  Fixes dual
335d0 2d 43 50 55 20 57 69 6e 4e 54 20 68 61 6e 67 73  -CPU WinNT hangs
335e0 2c 20 6f 6e 6c 79 20 6f 6e 65 20 72 61 72 65 20  , only one rare 
335f0 73 70 6f 72 61 64 69 63 20 68 61 6e 67 0a 74 68  sporadic hang.th
33600 61 74 20 73 74 69 6c 6c 20 65 78 69 73 74 73 20  at still exists 
33610 77 69 74 68 20 64 75 61 6c 2d 43 50 55 20 57 69  with dual-CPU Wi
33620 6e 4e 54 2e 20 20 41 6c 73 6f 20 66 69 78 65 64  nNT.  Also fixed
33630 20 74 65 73 74 20 63 61 73 65 73 20 73 6f 20 74   test cases so t
33640 68 61 74 0a 74 68 65 79 20 77 6f 75 6c 64 20 6e  hat.they would n
33650 6f 74 20 64 65 70 65 6e 64 20 61 73 20 6d 75 63  ot depend as muc
33660 68 20 6f 6e 20 74 69 6d 69 6e 67 20 66 6f 72 20  h on timing for 
33670 64 75 61 6c 2d 43 50 55 20 57 69 6e 4e 54 2e 20  dual-CPU WinNT. 
33680 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 32 37 2f 39  (redman)..7/27/9
33690 39 20 28 62 75 67 20 66 69 78 29 20 53 6f 6d 65  9 (bug fix) Some
336a0 20 74 65 73 74 20 73 75 69 74 65 20 63 6c 65 61   test suite clea
336b0 6e 75 70 2e 20 28 6a 65 6e 6e 29 0a 0a 37 2f 32  nup. (jenn)..7/2
336c0 39 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 41  9/99 (bug fix) A
336d0 70 70 6c 69 65 64 20 70 61 74 63 68 20 74 6f 20  pplied patch to 
336e0 66 69 78 20 74 79 70 6f 20 69 6e 20 2e 53 48 20  fix typo in .SH 
336f0 4e 41 4d 45 20 6c 69 6e 65 20 69 6e 0a 64 6f 63  NAME line in.doc
33700 2f 45 6e 63 6f 64 69 6e 67 2e 6e 20 5b 42 75 67  /Encoding.n [Bug
33710 3a 20 32 34 35 31 5d 2e 20 20 41 70 70 6c 69 65  : 2451].  Applie
33720 64 20 70 61 74 63 68 20 74 6f 20 61 76 6f 69 64  d patch to avoid
33730 20 6c 69 6e 6b 69 6e 67 20 70 61 63 6b 2e 6e 20   linking pack.n 
33740 74 6f 0a 70 61 63 6b 2d 6f 6c 64 2e 6e 20 5b 42  to.pack-old.n [B
33750 75 67 3a 20 32 34 36 39 5d 2e 20 50 61 74 63 68  ug: 2469]. Patch
33760 65 73 20 66 72 6f 6d 20 44 6f 6e 20 50 6f 72 74  es from Don Port
33770 65 72 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f  er. (redman)..7/
33780 32 39 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  29/99 (bug fix) 
33790 41 6c 6c 6f 77 20 74 63 6c 20 74 6f 20 6f 70 65  Allow tcl to ope
337a0 6e 20 43 4f 4e 20 61 6e 64 20 4e 55 4c 2c 20 65  n CON and NUL, e
337b0 76 65 6e 20 66 6f 72 20 72 65 64 69 72 65 63 74  ven for redirect
337c0 69 6f 6e 0a 6f 66 20 73 74 64 20 63 68 61 6e 6e  ion.of std chann
337d0 65 6c 73 2e 20 20 5b 42 75 67 3a 20 32 33 39 33  els.  [Bug: 2393
337e0 20 32 33 39 32 20 32 32 30 39 20 32 34 35 38 5d   2392 2209 2458]
337f0 20 28 72 65 64 6d 61 6e 29 0a 0a 37 2f 33 30 2f   (redman)..7/30/
33800 39 39 20 28 62 75 67 20 66 69 78 29 20 41 70 70  99 (bug fix) App
33810 6c 69 65 64 20 66 69 78 65 64 20 54 72 66 20 70  lied fixed Trf p
33820 61 74 63 68 20 66 72 6f 6d 20 41 6e 64 72 65 61  atch from Andrea
33830 73 20 4b 75 70 72 69 65 73 2e 20 0a 5b 42 75 67  s Kupries. .[Bug
33840 3a 20 32 33 38 36 5d 20 28 68 6f 62 62 73 29 0a  : 2386] (hobbs).
33850 0a 37 2f 33 30 2f 39 39 20 28 62 75 67 20 66 69  .7/30/99 (bug fi
33860 78 29 20 46 69 78 65 64 20 62 75 67 20 69 6e 20  x) Fixed bug in 
33870 69 6e 66 6f 20 63 6f 6d 70 6c 65 74 65 2e 20 5b  info complete. [
33880 42 75 67 3a 20 32 33 38 33 20 32 34 36 36 5d 20  Bug: 2383 2466] 
33890 28 68 6f 62 62 73 29 0a 0a 37 2f 33 30 2f 39 39  (hobbs)..7/30/99
338a0 20 28 62 75 67 20 66 69 78 29 20 41 70 70 6c 69   (bug fix) Appli
338b0 65 64 20 70 61 74 63 68 20 74 6f 20 66 69 78 20  ed patch to fix 
338c0 74 68 72 65 61 64 69 6e 67 20 6f 6e 20 49 72 69  threading on Iri
338d0 78 20 36 2e 35 2c 20 70 61 74 63 68 0a 70 72 6f  x 6.5, patch.pro
338e0 76 69 64 65 64 20 62 79 20 4a 61 6d 65 73 20 44  vided by James D
338f0 65 6e 6e 65 74 74 2e 20 20 5b 42 75 67 3a 20 32  ennett.  [Bug: 2
33900 34 35 30 5d 20 28 72 65 64 6d 61 6e 29 0a 0a 37  450] (redman)..7
33910 2f 33 30 2f 39 39 20 28 62 75 67 20 66 69 78 29  /30/99 (bug fix)
33920 20 46 69 78 65 64 20 6c 61 75 6e 63 68 69 6e 67   Fixed launching
33930 20 6f 66 20 31 36 62 69 74 20 61 70 70 6c 69 63   of 16bit applic
33940 61 74 69 6f 6e 73 20 6f 6e 20 57 69 6e 39 78 20  ations on Win9x 
33950 66 72 6f 6d 0a 77 69 73 68 2e 20 20 54 68 65 20  from.wish.  The 
33960 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 77 61 73  command line was
33970 20 62 65 69 6e 67 20 70 72 69 6d 65 64 20 77 69   being primed wi
33980 74 68 20 74 63 6c 70 69 70 38 32 2e 64 6c 6c 2c  th tclpip82.dll,
33990 20 62 75 74 20 69 74 20 77 61 73 0a 69 67 6e 6f   but it was.igno
339a0 72 65 64 20 6c 61 74 65 72 2e 20 0a 0a 37 2f 33  red later. ..7/3
339b0 30 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 41  0/99 (bug fix) A
339c0 64 64 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 74  dded functions t
339d0 6f 20 73 74 75 62 20 74 61 62 6c 65 2c 20 70 61  o stub table, pa
339e0 74 63 68 20 70 72 6f 76 69 64 65 64 20 62 79 20  tch provided by 
339f0 4a 61 6e 0a 4e 69 6a 74 6d 61 6e 73 2e 20 5b 42  Jan.Nijtmans. [B
33a00 75 67 3a 20 32 34 34 35 5d 20 28 68 6f 62 62 73  ug: 2445] (hobbs
33a10 29 0a 0a 38 2f 31 2f 39 39 20 20 28 62 75 67 20  )..8/1/99  (bug 
33a20 66 69 78 29 20 43 68 61 6e 67 65 64 20 57 69 6e  fix) Changed Win
33a30 64 6f 77 73 20 73 6f 63 6b 65 74 20 64 72 69 76  dows socket driv
33a40 65 72 20 74 6f 20 74 65 72 6d 69 6e 61 74 65 20  er to terminate 
33a50 74 68 72 65 61 64 73 0a 62 79 20 73 65 6e 64 69  threads.by sendi
33a60 6e 67 20 61 20 6d 65 73 73 61 67 65 20 74 6f 20  ng a message to 
33a70 74 68 65 20 77 69 6e 64 6f 77 20 72 61 74 68 65  the window rathe
33a80 72 20 74 68 61 6e 20 63 61 6c 6c 69 6e 67 0a 54  r than calling.T
33a90 65 72 6d 69 6e 61 74 65 54 68 72 65 61 64 28 29  erminateThread()
33aa0 2c 20 77 68 69 63 68 20 73 65 65 6d 73 20 74 6f  , which seems to
33ab0 20 6c 65 61 6b 20 61 62 6f 75 74 20 34 6b 20 66   leak about 4k f
33ac0 72 6f 6d 20 74 68 65 20 68 65 6c 70 65 72 0a 74  rom the helper.t
33ad0 68 72 65 61 64 27 73 20 73 74 61 63 6b 20 73 70  hread's stack sp
33ae0 61 63 65 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 2d  ace. (redman)..-
33af0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52  -------------- R
33b00 65 6c 65 61 73 65 64 20 38 2e 32 62 32 2c 20 41  eleased 8.2b2, A
33b10 75 67 75 73 74 20 35 2c 20 31 39 39 39 20 2d 2d  ugust 5, 1999 --
33b20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
33b30 2d 2d 2d 2d 0a 0a 38 2f 34 2f 39 39 20 28 62 75  ----..8/4/99 (bu
33b40 67 20 66 69 78 29 20 41 70 70 6c 69 65 64 20 70  g fix) Applied p
33b50 61 74 63 68 65 73 20 73 75 70 70 6c 69 65 64 20  atches supplied 
33b60 62 79 20 48 65 6e 72 79 20 53 70 65 6e 63 65 72  by Henry Spencer
33b70 20 74 6f 20 67 72 65 61 74 6c 79 0a 65 6e 68 61   to greatly.enha
33b80 6e 63 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 20  nce performance 
33b90 6f 66 20 63 65 72 74 61 69 6e 20 63 6c 61 73 73  of certain class
33ba0 65 73 20 6f 66 20 72 65 67 75 6c 61 72 20 65 78  es of regular ex
33bb0 70 72 65 73 73 69 6f 6e 73 2e 20 0a 5b 42 75 67  pressions. .[Bug
33bc0 3a 20 32 34 34 30 20 32 34 34 37 5d 20 28 73 74  : 2440 2447] (st
33bd0 61 6e 74 6f 6e 29 0a 0a 38 2f 35 2f 39 39 20 28  anton)..8/5/99 (
33be0 64 6f 63 20 63 68 61 6e 67 65 29 20 4d 61 64 65  doc change) Made
33bf0 20 69 74 20 63 6c 65 61 72 20 74 68 61 74 20 74   it clear that t
33c00 63 6c 5f 70 6b 67 50 61 74 68 20 77 61 73 20 6e  cl_pkgPath was n
33c10 6f 74 20 73 65 74 20 66 6f 72 0a 57 69 6e 64 6f  ot set for.Windo
33c20 77 73 2e 20 5b 42 75 67 3a 20 32 34 35 35 5d 20  ws. [Bug: 2455] 
33c30 28 68 6f 62 62 73 29 0a 0a 38 2f 35 2f 39 39 20  (hobbs)..8/5/99 
33c40 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
33c50 72 65 66 65 72 65 6e 63 65 20 74 6f 20 62 79 74  reference to byt
33c60 65 73 20 74 68 61 74 20 6d 69 67 68 74 20 6e 6f  es that might no
33c70 74 20 62 65 20 6e 75 6c 6c 0a 74 65 72 6d 69 6e  t be null.termin
33c80 61 74 65 64 20 69 6e 20 74 63 6c 4c 69 74 65 72  ated in tclLiter
33c90 61 6c 2e 63 2e 20 5b 42 75 67 3a 20 32 34 39 36  al.c. [Bug: 2496
33ca0 5d 20 28 68 6f 62 62 73 29 0a 0a 38 2f 35 2f 39  ] (hobbs)..8/5/9
33cb0 39 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  9 (bug fix) Fixe
33cc0 64 20 74 79 70 6f 20 69 6e 20 68 74 74 70 2e 74  d typo in http.t
33cd0 63 6c 2e 20 5b 42 75 67 3a 20 32 35 30 32 5d 20  cl. [Bug: 2502] 
33ce0 28 68 6f 62 62 73 29 0a 0a 38 2f 39 2f 39 39 20  (hobbs)..8/9/99 
33cf0 28 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20  (bug fix) Fixed 
33d00 74 65 73 74 20 73 75 69 74 65 20 74 6f 20 68 61  test suite to ha
33d10 6e 64 6c 65 20 6c 61 72 67 65 72 20 69 6e 74 65  ndle larger inte
33d20 67 65 72 73 0a 28 36 34 62 69 74 29 2e 20 50 61  gers.(64bit). Pa
33d30 74 63 68 20 66 72 6f 6d 20 44 6f 6e 20 50 6f 72  tch from Don Por
33d40 74 65 72 2e 20 28 68 6f 62 62 73 29 0a 0a 38 2f  ter. (hobbs)..8/
33d50 39 2f 39 39 20 28 64 6f 63 75 6d 65 6e 74 61 74  9/99 (documentat
33d60 69 6f 6e 20 66 69 78 29 20 43 6c 61 72 69 66 69  ion fix) Clarifi
33d70 65 64 20 54 63 6c 5f 44 65 63 72 52 65 66 43 6f  ed Tcl_DecrRefCo
33d80 75 6e 74 20 64 6f 63 73 20 0a 5b 42 75 67 3a 20  unt docs .[Bug: 
33d90 31 39 35 32 5d 2e 20 43 6c 61 72 69 66 69 65 64  1952]. Clarified
33da0 20 61 72 72 61 79 20 70 61 74 74 65 72 6e 20 64   array pattern d
33db0 6f 63 73 20 5b 42 75 67 3a 20 31 33 33 30 5d 2e  ocs [Bug: 1330].
33dc0 20 46 69 78 65 64 20 63 6c 6f 63 6b 20 64 6f 63   Fixed clock doc
33dd0 73 0a 5b 42 75 67 3a 20 36 39 33 5d 2e 20 46 69  s.[Bug: 693]. Fi
33de0 78 65 64 20 66 6f 72 6d 61 74 74 69 6e 67 20 65  xed formatting e
33df0 72 72 6f 72 73 20 5b 42 75 67 3a 20 32 31 38 38  rrors [Bug: 2188
33e00 20 32 31 38 39 5d 2e 20 46 69 78 65 64 20 64 6f   2189]. Fixed do
33e10 63 20 65 72 72 6f 72 0a 69 6e 20 74 63 6c 76 61  c error.in tclva
33e20 72 73 2e 6e 20 5b 42 75 67 3a 20 32 30 34 32 5d  rs.n [Bug: 2042]
33e30 2e 20 28 68 6f 62 62 73 29 0a 0a 38 2f 39 2f 39  . (hobbs)..8/9/9
33e40 39 20 28 62 75 67 20 66 69 78 29 20 46 69 78 65  9 (bug fix) Fixe
33e50 64 20 70 61 74 68 20 68 61 6e 64 6c 69 6e 67 20  d path handling 
33e60 69 6e 20 61 75 74 6f 5f 65 78 65 63 6f 6b 20 5b  in auto_execok [
33e70 42 75 67 3a 20 31 32 37 36 5d 20 28 68 6f 62 62  Bug: 1276] (hobb
33e80 73 29 0a 0a 38 2f 39 2f 39 39 20 28 69 6e 74 65  s)..8/9/99 (inte
33e90 72 6e 61 6c 20 61 70 69 20 63 68 61 6e 67 65 29  rnal api change)
33ea0 20 52 65 6d 6f 76 65 64 20 74 68 65 20 54 63 6c   Removed the Tcl
33eb0 70 4d 75 74 65 78 4c 6f 63 6b 20 61 6e 64 20 54  pMutexLock and T
33ec0 63 6c 70 4d 75 74 65 78 55 6e 6c 6f 63 6b 0a 41  clpMutexUnlock.A
33ed0 50 49 73 20 61 6e 64 20 61 64 64 65 64 20 61 20  PIs and added a 
33ee0 6e 65 77 20 65 78 70 6f 72 74 65 64 20 61 70 69  new exported api
33ef0 2c 20 54 63 6c 5f 47 65 74 41 6c 6c 6f 63 4d 75  , Tcl_GetAllocMu
33f00 74 65 78 2e 20 54 68 65 73 65 20 41 50 49 73 20  tex. These APIs 
33f10 61 72 65 20 61 6c 6c 20 66 6f 72 0a 74 68 65 20  are all for.the 
33f20 6d 75 74 65 78 20 75 73 65 64 20 69 6e 20 74 68  mutex used in th
33f30 65 20 73 69 6d 70 6c 65 20 6d 65 6d 6f 72 79 20  e simple memory 
33f40 61 6c 6c 6f 63 61 74 6f 72 73 2e 20 20 42 79 20  allocators.  By 
33f50 6d 61 6b 69 6e 67 20 74 68 69 73 20 63 68 61 6e  making this chan
33f60 67 65 0a 77 65 20 61 72 65 20 61 62 6c 65 20 74  ge.we are able t
33f70 6f 20 73 75 62 73 74 69 74 75 74 65 20 64 69 66  o substitute dif
33f80 66 65 72 65 6e 74 20 69 6d 70 6c 65 6d 65 6e 74  ferent implement
33f90 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 74 68  ations of the th
33fa0 72 65 61 64 2d 72 65 6c 61 74 65 64 0a 41 50 49  read-related.API
33fb0 73 20 77 69 74 68 6f 75 74 20 68 61 76 69 6e 67  s without having
33fc0 20 74 6f 20 72 65 63 6f 6d 70 69 6c 65 20 74 68   to recompile th
33fd0 65 20 54 63 6c 20 63 6f 72 65 2e 20 28 77 65 6c  e Tcl core. (wel
33fe0 63 68 29 0a 0a 38 2f 39 2f 39 39 20 28 6e 65 77  ch)..8/9/99 (new
33ff0 20 43 20 41 50 49 29 20 54 63 6c 5f 47 65 74 43   C API) Tcl_GetC
34000 68 61 6e 6e 65 6c 4e 61 6d 65 73 20 72 65 74 75  hannelNames retu
34010 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 6f 70  rns a list of op
34020 65 6e 20 63 68 61 6e 6e 65 6c 0a 6e 61 6d 65 73  en channel.names
34030 20 69 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65   in the interpre
34040 74 65 72 20 72 65 73 75 6c 74 2e 20 20 53 74 69  ter result.  Sti
34050 6c 6c 20 6e 6f 20 54 63 6c 2d 6c 65 76 65 6c 20  ll no Tcl-level 
34060 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 69 73 2c  version of this,
34070 0a 62 75 74 20 73 65 72 76 65 72 2d 6c 69 6b 65  .but server-like
34080 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 63 61   applications ca
34090 6e 20 75 73 65 20 74 68 69 73 20 74 6f 20 63 6c  n use this to cl
340a0 65 61 6e 20 75 70 20 66 69 6c 65 73 20 77 69 74  ean up files wit
340b0 68 6f 75 74 0a 64 65 6c 65 74 69 6e 67 20 69 6e  hout.deleting in
340c0 74 65 72 70 72 65 74 65 72 73 2e 20 28 77 65 6c  terpreters. (wel
340d0 63 68 29 0a 0a 38 2f 39 2f 39 39 20 28 62 75 67  ch)..8/9/99 (bug
340e0 20 66 69 78 29 20 54 72 61 63 65 73 20 77 65 72   fix) Traces wer
340f0 65 20 6e 6f 74 20 66 69 72 69 6e 67 20 6f 6e 20  e not firing on 
34100 22 69 6e 66 6f 20 65 78 69 73 74 73 22 2c 20 77  "info exists", w
34110 68 69 63 68 20 75 73 65 64 20 74 6f 0a 68 61 70  hich used to.hap
34120 70 65 6e 20 69 6e 20 54 63 6c 20 37 2e 36 20 61  pen in Tcl 7.6 a
34130 6e 64 20 65 61 72 6c 69 65 72 2e 20 41 6e 20 22  nd earlier. An "
34140 69 6e 66 6f 20 65 78 69 73 74 73 22 20 6e 6f 77  info exists" now
34150 20 66 69 72 65 73 20 61 20 72 65 61 64 20 74 72   fires a read tr
34160 61 63 65 2c 0a 69 66 20 64 65 66 69 6e 65 64 2e  ace,.if defined.
34170 20 20 54 68 69 73 20 6d 61 6b 65 73 20 69 74 20    This makes it 
34180 70 6f 73 73 69 62 6c 65 20 74 6f 20 66 75 6c 6c  possible to full
34190 79 20 69 6d 70 6c 65 6d 65 6e 74 20 76 61 72 69  y implement vari
341a0 61 62 6c 65 73 20 74 68 61 74 0a 61 72 65 20 64  ables that.are d
341b0 65 66 69 6e 65 64 20 76 69 61 20 74 72 61 63 65  efined via trace
341c0 73 2e 20 28 77 65 6c 63 68 29 0a 0a 38 2f 31 30  s. (welch)..8/10
341d0 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 46 69  /99 (bug fix) Fi
341e0 78 65 64 20 42 72 65 6e 74 27 73 20 63 68 61 6e  xed Brent's chan
341f0 67 65 73 20 73 6f 20 74 68 61 74 20 74 68 65 79  ges so that they
34200 20 77 6f 72 6b 20 6f 6e 0a 57 69 6e 64 6f 77 73   work on.Windows
34210 2e 20 28 72 65 64 6d 61 6e 29 0a 0a 2d 2d 2d 2d  . (redman)..----
34220 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 52 65 6c 65  ----------- Rele
34230 61 73 65 64 20 38 2e 32 62 33 2c 20 41 75 67 75  ased 8.2b3, Augu
34240 73 74 20 31 31 2c 20 31 39 39 39 20 2d 2d 2d 2d  st 11, 1999 ----
34250 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
34260 2d 2d 0a 0a 38 2f 31 32 2f 39 39 20 28 4d 61 63  --..8/12/99 (Mac
34270 29 20 52 65 61 72 72 61 6e 67 65 20 70 72 6f 6a  ) Rearrange proj
34280 65 63 74 73 20 69 6e 20 74 63 6c 4d 61 63 50 72  ects in tclMacPr
34290 6f 6a 65 63 74 73 2e 73 65 61 2e 68 71 78 20 73  ojects.sea.hqx s
342a0 6f 20 74 68 61 74 20 74 68 65 0a 62 75 69 6c 64  o that the.build
342b0 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 73 65   directory is se
342c0 70 61 72 61 74 65 20 66 72 6f 6d 20 74 68 65 20  parate from the 
342d0 73 6f 75 72 63 65 73 2e 20 28 4a 69 6d 20 49 6e  sources. (Jim In
342e0 67 68 61 6d 29 0a 0a 38 2f 31 32 2f 39 39 20 28  gham)..8/12/99 (
342f0 62 75 67 20 66 69 78 29 20 46 69 78 65 64 20 62  bug fix) Fixed b
34300 75 67 20 69 6e 20 54 63 6c 5f 45 76 61 6c 45 78  ug in Tcl_EvalEx
34310 20 77 68 65 72 65 20 74 68 65 20 74 65 72 6d 4f   where the termO
34320 66 66 73 65 74 20 77 61 73 20 6e 6f 74 0a 62 65  ffset was not.be
34330 69 6e 67 20 75 70 64 61 74 65 64 20 69 6e 20 63  ing updated in c
34340 61 73 65 73 20 77 68 65 72 65 20 74 68 65 20 65  ases where the e
34350 76 61 6c 75 61 74 69 6f 6e 20 72 65 74 75 72 6e  valuation return
34360 65 64 20 61 20 6e 6f 6e 20 54 43 4c 5f 4f 4b 0a  ed a non TCL_OK.
34370 65 72 72 6f 72 20 63 6f 64 65 2e 20 5b 42 75 67  error code. [Bug
34380 3a 20 32 35 33 35 5d 20 28 73 74 61 6e 74 6f 6e  : 2535] (stanton
34390 29 0a 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  )..-------------
343a0 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 32 2e  -- Released 8.2.
343b0 30 2c 20 41 75 67 75 73 74 20 31 37 2c 20 31 39  0, August 17, 19
343c0 39 39 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  99 -------------
343d0 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 39 2f 32 31 2f  ---------..9/21/
343e0 39 39 20 28 63 6f 6e 66 69 67 20 66 69 78 65 73  99 (config fixes
343f0 29 20 66 69 78 65 64 20 73 65 76 65 72 61 6c 20  ) fixed several 
34400 41 49 58 20 63 6f 6e 66 69 67 75 72 61 74 69 6f  AIX configuratio
34410 6e 20 69 73 73 75 65 73 2e 20 20 67 63 63 20 61  n issues.  gcc a
34420 6e 64 0a 74 68 72 65 61 64 69 6e 67 20 6d 61 79  nd.threading may
34430 20 73 74 69 6c 6c 20 63 61 75 73 65 20 70 72 6f   still cause pro
34440 62 6c 65 6d 73 20 6f 6e 20 41 49 58 2e 20 28 68  blems on AIX. (h
34450 6f 62 62 73 29 0a 0a 39 2f 32 31 2f 39 39 20 28  obbs)..9/21/99 (
34460 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20 65  bug fix) fixed e
34470 78 70 72 20 64 6f 75 62 6c 65 2d 65 76 61 6c 20  xpr double-eval 
34480 70 72 6f 62 6c 65 6d 2e 20 5b 42 75 67 3a 20 37  problem. [Bug: 7
34490 33 32 5d 20 28 68 6f 62 62 73 29 0a 0a 39 2f 32  32] (hobbs)..9/2
344a0 31 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 66  1/99 (bug fix) f
344b0 69 78 65 64 20 73 74 61 74 69 63 20 62 75 66 66  ixed static buff
344c0 65 72 20 6f 76 65 72 66 6c 6f 77 20 70 72 6f 62  er overflow prob
344d0 6c 65 6d 2e 20 5b 42 75 67 3a 20 32 34 38 33 5d  lem. [Bug: 2483]
344e0 20 28 68 6f 62 62 73 29 0a 0a 39 2f 32 31 2f 39   (hobbs)..9/21/9
344f0 39 20 28 62 75 67 20 66 69 78 29 20 66 69 78 65  9 (bug fix) fixe
34500 64 20 65 6e 64 2d 69 6e 74 20 6c 69 6e 73 65 72  d end-int linser
34510 74 20 69 6e 74 65 72 70 72 65 74 61 74 69 6f 6e  t interpretation
34520 2e 20 5b 42 75 67 3a 20 32 36 39 33 5d 20 28 68  . [Bug: 2693] (h
34530 6f 62 62 73 29 0a 0a 39 2f 32 31 2f 39 39 20 28  obbs)..9/21/99 (
34540 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20 62  bug fix) fixed b
34550 75 67 20 77 68 65 6e 20 73 65 74 74 69 6e 67 20  ug when setting 
34560 61 72 72 61 79 20 69 6e 20 6e 6f 6e 2d 65 78 69  array in non-exi
34570 73 74 65 6e 74 0a 6e 61 6d 65 73 70 61 63 65 2e  stent.namespace.
34580 20 5b 42 75 67 3a 20 32 36 31 33 5d 20 28 68 6f   [Bug: 2613] (ho
34590 62 62 73 29 0a 0a 2d 2d 2d 20 52 65 6c 65 61 73  bbs)..--- Releas
345a0 65 64 20 38 2e 32 2e 31 2c 20 4f 63 74 6f 62 65  ed 8.2.1, Octobe
345b0 72 20 30 34 2c 20 31 39 39 39 20 2d 2d 2d 20 53  r 04, 1999 --- S
345c0 65 65 20 43 68 61 6e 67 65 4c 6f 67 20 66 6f 72  ee ChangeLog for
345d0 20 64 65 74 61 69 6c 73 20 2d 2d 2d 0a 0a 31 30   details ---..10
345e0 2f 33 30 2f 39 39 20 28 66 65 61 74 75 72 65 20  /30/99 (feature 
345f0 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 6e 65 77  enhancement) new
34600 20 72 65 67 65 78 70 20 65 6e 67 69 6e 65 20 66   regexp engine f
34610 72 6f 6d 20 48 65 6e 72 79 20 53 70 65 6e 63 65  rom Henry Spence
34620 72 0a 77 61 73 20 70 61 74 63 68 65 64 20 69 6e  r.was patched in
34630 20 2d 20 73 68 6f 75 6c 64 20 67 72 65 61 74 6c   - should greatl
34640 79 20 72 65 64 75 63 65 20 73 74 61 63 6b 20 73  y reduce stack s
34650 70 61 63 65 20 75 73 61 67 65 2e 20 28 73 70 65  pace usage. (spe
34660 6e 63 65 72 29 0a 0a 31 30 2f 33 30 2f 39 39 20  ncer)..10/30/99 
34670 28 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20  (bug fix) fixed 
34680 50 75 72 69 66 79 20 72 65 70 6f 72 74 65 64 20  Purify reported 
34690 6d 65 6d 6f 72 79 20 6c 65 61 6b 73 20 69 6e 20  memory leaks in 
346a0 66 69 6e 64 65 78 65 63 75 74 61 62 6c 65 0a 74  findexecutable.t
346b0 65 73 74 20 63 6f 6d 6d 61 6e 64 2c 20 54 63 6c  est command, Tcl
346c0 70 43 72 65 61 74 65 50 72 6f 63 65 73 73 20 6f  pCreateProcess o
346d0 6e 20 55 6e 69 78 2c 20 69 6e 20 68 61 6e 64 6c  n Unix, in handl
346e0 69 6e 67 20 6f 66 20 43 20 65 6e 76 69 72 6f 6e  ing of C environ
346f0 20 61 72 72 61 79 2c 0a 61 6e 64 20 69 6e 20 74   array,.and in t
34700 65 73 74 74 68 72 65 61 64 20 63 6f 64 65 2e 20  estthread code. 
34710 20 4e 6f 20 6d 6f 72 65 20 6b 6e 6f 77 6e 20 28   No more known (
34720 72 65 70 6f 72 74 65 64 29 20 6d 65 6d 20 6c 65  reported) mem le
34730 61 6b 73 20 66 6f 72 20 54 63 6c 0a 62 75 69 6c  aks for Tcl.buil
34740 74 20 75 73 69 6e 67 20 67 63 63 20 6f 6e 20 53  t using gcc on S
34750 6f 6c 61 72 69 73 20 32 2e 35 2e 31 2e 20 20 41  olaris 2.5.1.  A
34760 6c 73 6f 20 6e 6f 6e 65 20 72 65 70 6f 72 74 65  lso none reporte
34770 64 20 66 6f 72 20 54 63 6c 20 6f 6e 20 4e 54 0a  d for Tcl on NT.
34780 28 75 73 69 6e 67 20 50 75 72 69 66 79 20 36 2e  (using Purify 6.
34790 30 29 2e 20 28 68 6f 62 62 73 29 0a 0a 31 30 2f  0). (hobbs)..10/
347a0 33 30 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  30/99 (bug fix) 
347b0 66 69 78 65 64 20 69 6d 70 72 6f 70 65 72 20 62  fixed improper b
347c0 79 74 65 63 6f 64 65 20 68 61 6e 64 6c 69 6e 67  ytecode handling
347d0 20 6f 66 20 0a 27 65 76 61 6c 20 7b 73 65 74 20   of .'eval {set 
347e0 61 72 72 61 79 28 24 75 6e 6b 6e 6f 77 6e 76 61  array($unknownva
347f0 72 29 20 35 7d 27 20 28 61 6c 73 6f 20 66 6f 72  r) 5}' (also for
34800 20 69 6e 63 72 29 20 28 68 6f 62 62 73 29 0a 0a   incr) (hobbs)..
34810 31 30 2f 33 30 2f 39 39 20 28 62 75 67 20 66 69  10/30/99 (bug fi
34820 78 29 20 66 69 78 65 64 20 65 76 65 6e 74 2f 69  x) fixed event/i
34830 6f 20 74 68 72 65 61 64 69 6e 67 20 70 72 6f 62  o threading prob
34840 6c 65 6d 73 20 62 79 20 6d 61 6b 69 6e 67 0a 74  lems by making.t
34850 72 69 67 67 65 72 50 69 70 65 20 6e 6f 6e 2d 62  riggerPipe non-b
34860 6c 6f 63 6b 69 6e 67 20 28 6e 69 63 6b 20 6b 69  locking (nick ki
34870 73 73 65 72 62 65 74 68 29 0a 0a 31 30 2f 33 30  sserbeth)..10/30
34880 2f 39 39 20 28 62 75 67 20 66 69 78 29 20 66 69  /99 (bug fix) fi
34890 78 65 64 20 54 63 6c 5f 41 70 70 65 6e 64 53 74  xed Tcl_AppendSt
348a0 72 69 6e 67 73 54 6f 4f 62 6a 56 41 20 61 6e 64  ringsToObjVA and
348b0 20 54 63 6c 5f 41 70 70 65 6e 64 52 65 73 75 6c   Tcl_AppendResul
348c0 74 56 41 0a 74 6f 20 6f 6e 6c 79 09 69 74 65 72  tVA.to only.iter
348d0 61 74 65 73 20 6f 6e 63 65 20 6f 76 65 72 20 74  ates once over t
348e0 68 65 20 76 61 5f 6c 69 73 74 20 28 61 76 6f 69  he va_list (avoi
348f0 64 69 6e 67 20 6e 6f 6e 2d 70 6f 72 74 61 62 6c  ding non-portabl
34900 65 20 6d 65 6d 63 70 79 29 2e 0a 28 6a 6f 65 20  e memcpy)..(joe 
34910 65 6e 67 6c 69 73 68 2c 20 68 6f 62 62 73 29 0a  english, hobbs).
34920 0a 31 30 2f 33 30 2f 39 39 20 28 62 75 67 20 66  .10/30/99 (bug f
34930 69 78 29 20 72 65 6d 6f 76 65 64 20 73 61 76 65  ix) removed save
34940 64 43 68 61 72 20 74 72 69 63 6b 20 69 6e 20 74  dChar trick in t
34950 63 6c 43 6f 6d 70 69 6c 65 2e 63 20 74 68 61 74  clCompile.c that
34960 20 61 70 70 65 61 72 65 64 0a 74 6f 20 62 65 20   appeared.to be 
34970 63 61 75 73 69 6e 67 20 61 20 73 65 67 76 20 77  causing a segv w
34980 68 65 6e 20 74 68 65 20 6c 69 74 65 72 61 6c 20  hen the literal 
34990 74 61 62 6c 65 20 77 61 73 20 72 65 6c 65 61 73  table was releas
349a0 65 64 2e 0a 5b 42 75 67 3a 20 32 34 35 39 2c 20  ed..[Bug: 2459, 
349b0 32 35 31 35 5d 20 28 44 61 76 69 64 20 57 68 69  2515] (David Whi
349c0 74 65 68 6f 75 73 65 29 0a 0a 31 30 2f 33 30 2f  tehouse)..10/30/
349d0 39 39 20 28 62 75 67 20 66 69 78 29 20 66 69 78  99 (bug fix) fix
349e0 65 64 20 5b 73 74 72 69 6e 67 20 69 6e 64 65 78  ed [string index
349f0 5d 20 74 6f 20 72 65 74 75 72 6e 20 42 79 74 65  ] to return Byte
34a00 41 72 72 61 79 4f 62 6a 0a 77 68 65 6e 20 69 6e  ArrayObj.when in
34a10 64 65 78 69 6e 67 20 69 6e 74 6f 20 6f 6e 65 20  dexing into one 
34a20 28 74 65 73 74 20 63 61 73 65 20 73 74 72 69 6e  (test case strin
34a30 67 2d 35 2e 31 36 29 20 5b 42 75 67 3a 20 32 38  g-5.16) [Bug: 28
34a40 37 31 5d 20 28 68 6f 62 62 73 29 0a 0a 31 30 2f  71] (hobbs)..10/
34a50 33 30 2f 39 39 20 28 62 75 67 20 66 69 78 29 20  30/99 (bug fix) 
34a60 66 69 78 65 73 20 66 6f 72 20 6d 61 63 20 55 54  fixes for mac UT
34a70 46 20 66 69 6c 65 6e 61 6d 65 20 68 61 6e 64 6c  F filename handl
34a80 69 6e 67 20 28 69 6e 67 68 61 6d 29 0a 0a 2d 2d  ing (ingham)..--
34a90 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 32 2e 32  - Released 8.2.2
34aa0 2c 20 4e 6f 76 65 6d 62 65 72 20 30 34 2c 20 31  , November 04, 1
34ab0 39 39 39 20 2d 2d 2d 20 53 65 65 20 43 68 61 6e  999 --- See Chan
34ac0 67 65 4c 6f 67 20 66 6f 72 20 64 65 74 61 69 6c  geLog for detail
34ad0 73 20 2d 2d 2d 0a 0a 31 31 2f 31 39 2f 39 39 20  s ---..11/19/99 
34ae0 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65  (feature enhance
34af0 6d 65 6e 74 29 20 62 75 67 20 66 69 78 65 73 20  ment) bug fixes 
34b00 66 6f 72 20 68 74 74 70 20 70 61 63 6b 61 67 65  for http package
34b10 20 61 73 20 77 65 6c 6c 20 61 73 0a 70 61 74 63   as well as.patc
34b20 68 20 72 65 71 75 69 72 65 64 20 62 79 20 54 4c  h required by TL
34b30 53 20 28 53 53 4c 29 20 65 78 74 65 6e 73 69 6f  S (SSL) extensio
34b40 6e 20 74 68 61 74 20 61 64 64 73 20 68 74 74 70  n that adds http
34b50 3a 3a 28 75 6e 29 72 65 67 69 73 74 65 72 0a 61  ::(un)register.a
34b60 6e 64 20 2d 74 79 70 65 20 74 6f 20 68 74 74 70  nd -type to http
34b70 3a 3a 67 65 74 75 72 6c 2e 20 20 55 70 27 64 20  ::geturl.  Up'd 
34b80 68 74 74 70 20 70 6b 67 20 76 65 72 73 69 6f 6e  http pkg version
34b90 20 74 6f 20 32 2e 32 2e 0a 0a 31 31 2f 31 39 2f   to 2.2...11/19/
34ba0 39 39 20 28 62 75 67 20 66 69 78 29 20 72 65 6d  99 (bug fix) rem
34bb0 6f 76 65 64 20 65 78 74 72 61 20 64 65 63 72 20  oved extra decr 
34bc0 6f 66 20 6e 75 6d 4c 65 76 65 6c 73 20 69 6e 20  of numLevels in 
34bd0 54 63 6c 5f 45 76 61 6c 4f 62 6a 45 78 0a 74 68  Tcl_EvalObjEx.th
34be0 61 74 20 63 6f 75 6c 64 20 63 61 75 73 65 20 73  at could cause s
34bf0 65 67 20 66 61 75 6c 74 20 28 6d 6a 61 6e 73 65  eg fault (mjanse
34c00 6e 40 77 65 6e 64 74 2e 64 65 29 0a 0a 31 31 2f  [email protected])..11/
34c10 31 39 2f 39 39 20 28 62 75 67 20 66 69 78 65 73  19/99 (bug fixes
34c20 29 20 6e 75 6d 65 72 6f 75 73 20 6d 69 6e 6f 72  ) numerous minor
34c30 20 62 69 67 20 66 69 78 65 73 2c 20 69 6e 63 6c   big fixes, incl
34c40 75 64 69 6e 67 20 63 6f 72 72 65 63 74 69 6e 67  uding correcting
34c50 20 74 68 65 0a 69 6e 73 74 61 6c 6c 61 74 69 6f   the.installatio
34c60 6e 20 6f 66 20 74 68 65 20 6b 6f 69 38 2d 72 20  n of the koi8-r 
34c70 65 6e 63 6f 64 69 6e 67 20 61 6e 64 20 74 63 6c  encoding and tcl
34c80 74 65 73 74 31 2e 30 20 6f 6e 20 57 69 6e 64 6f  test1.0 on Windo
34c90 77 73 2e 0a 0a 31 31 2f 33 30 2f 39 39 20 28 62  ws...11/30/99 (b
34ca0 75 67 20 66 69 78 29 20 66 69 78 65 73 20 73 63  ug fix) fixes sc
34cb0 61 6e 20 77 68 65 72 65 20 25 5b 2e 2e 5d 20 64  an where %[..] d
34cc0 69 64 6e 27 74 20 6d 61 74 63 68 20 61 6e 79 74  idn't match anyt
34cd0 68 69 6e 67 0a 0a 31 31 2f 33 30 2f 39 39 20 28  hing..11/30/99 (
34ce0 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20 73  bug fix) fixed s
34cf0 65 74 74 69 6e 67 20 6f 66 20 69 73 4e 6f 6e 42  etting of isNonB
34d00 6c 6f 63 6b 69 6e 67 20 66 6c 61 67 20 69 6e 20  locking flag in 
34d10 50 69 70 65 42 6c 6f 63 6b 4d 6f 64 65 50 72 6f  PipeBlockModePro
34d20 63 0a 73 6f 20 79 6f 75 20 63 61 6e 20 6e 6f 77  c.so you can now
34d30 20 63 6c 6f 73 65 20 61 20 6e 6f 6e 2d 62 6c 6f   close a non-blo
34d40 63 6b 69 6e 67 20 63 68 61 6e 6e 65 6c 20 77 69  cking channel wi
34d50 74 68 6f 75 74 20 77 61 69 74 69 6e 67 2e 0a 0a  thout waiting...
34d60 31 31 2f 33 30 2f 39 39 20 28 62 75 67 20 77 6f  11/30/99 (bug wo
34d70 72 6b 2d 61 72 6f 75 6e 64 29 20 70 72 65 76 65  rk-around) preve
34d80 6e 74 65 64 20 74 68 65 20 75 6e 6c 6f 61 64 69  nted the unloadi
34d90 6e 67 20 6f 66 20 44 4c 4c 73 20 66 6f 72 20 55  ng of DLLs for U
34da0 6e 69 78 20 69 6e 0a 54 63 6c 46 69 6e 61 6c 69  nix in.TclFinali
34db0 7a 65 4c 6f 61 64 2e 20 20 54 68 69 73 20 73 74  zeLoad.  This st
34dc0 6f 70 73 20 74 68 65 20 73 65 67 20 66 61 75 6c  ops the seg faul
34dd0 74 20 6f 6e 20 65 78 69 74 20 74 68 61 74 20 73  t on exit that s
34de0 6f 6d 65 20 75 73 65 72 73 20 77 6f 75 6c 64 0a  ome users would.
34df0 73 65 65 20 28 69 65 20 77 69 74 68 20 6f 72 61  see (ie with ora
34e00 74 63 6c 29 20 77 68 65 6e 20 75 73 69 6e 67 20  tcl) when using 
34e10 44 4c 4c 73 20 74 68 61 74 20 64 6f 20 6e 61 73  DLLs that do nas
34e20 74 79 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 72  ty things like r
34e30 65 67 69 73 74 65 72 0a 61 74 65 78 69 74 20 68  egister.atexit h
34e40 61 6e 64 6c 65 72 73 2e 0a 0a 31 32 2f 30 37 2f  andlers...12/07/
34e50 39 39 20 28 62 75 67 20 66 69 78 29 20 66 69 78  99 (bug fix) fix
34e60 65 73 20 66 6f 72 20 27 65 78 70 72 20 2b 20 7b  es for 'expr + {
34e70 5b 69 6e 63 72 5d 7d 27 20 61 6e 64 20 27 65 78  [incr]}' and 'ex
34e80 70 72 20 2b 20 7b 5b 65 72 72 6f 72 5d 7d 27 0a  pr + {[error]}'.
34e90 63 61 73 65 73 20 28 64 69 66 66 65 72 65 6e 74  cases (different
34ea0 20 63 61 75 73 65 73 29 2e 0a 0a 2d 2d 2d 20 52   causes)...--- R
34eb0 65 6c 65 61 73 65 64 20 38 2e 32 2e 33 2c 20 44  eleased 8.2.3, D
34ec0 65 63 65 6d 62 65 72 20 31 36 2c 20 31 39 39 39  ecember 16, 1999
34ed0 20 2d 2d 2d 20 53 65 65 20 43 68 61 6e 67 65 4c   --- See ChangeL
34ee0 6f 67 20 66 6f 72 20 64 65 74 61 69 6c 73 20 2d  og for details -
34ef0 2d 2d 0a 0a 31 39 39 39 2d 30 39 2d 31 34 20 28  --..1999-09-14 (
34f00 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d  feature enhancem
34f10 65 6e 74 29 20 61 64 64 65 64 20 2d 73 74 61 72  ent) added -star
34f20 74 20 73 77 69 74 63 68 20 74 6f 20 72 65 67 65  t switch to rege
34f30 78 70 20 61 6e 64 20 72 65 67 73 75 62 2e 0a 0a  xp and regsub...
34f40 31 39 39 39 2d 30 39 2d 31 35 20 28 66 65 61 74  1999-09-15 (feat
34f50 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29  ure enhancement)
34f60 20 61 64 64 20 27 61 72 72 61 79 20 75 6e 73 65   add 'array unse
34f70 74 27 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 31 39 39  t' command...199
34f80 39 2d 30 39 2d 31 35 20 28 66 65 61 74 75 72 65  9-09-15 (feature
34f90 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 72 65   enhancement) re
34fa0 77 72 6f 74 65 20 72 75 6e 74 69 6d 65 20 6c 69  wrote runtime li
34fb0 62 72 61 72 69 65 73 20 74 6f 20 75 73 65 20 6e  braries to use n
34fc0 65 77 0a 73 74 72 69 6e 67 20 66 75 6e 63 74 69  ew.string functi
34fd0 6f 6e 73 0a 0a 31 39 39 39 2d 30 38 2d 31 38 20  ons..1999-08-18 
34fe0 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65  (feature enhance
34ff0 6d 65 6e 74 29 20 61 64 64 65 64 20 27 66 69 6c  ment) added 'fil
35000 65 20 63 68 61 6e 6e 65 6c 73 27 20 63 6f 6d 6d  e channels' comm
35010 61 6e 64 2c 20 61 6c 6f 6e 67 20 77 69 74 68 0a  and, along with.
35020 54 63 6c 5f 47 65 74 43 68 61 6e 6e 65 6c 4e 61  Tcl_GetChannelNa
35030 6d 65 73 28 45 78 29 20 70 75 62 6c 69 63 20 43  mes(Ex) public C
35040 20 41 50 49 73 2e 0a 0a 31 39 39 39 2d 31 30 2d   APIs...1999-10-
35050 31 39 20 28 66 65 61 74 75 72 65 20 65 6e 68 61  19 (feature enha
35060 6e 63 65 6d 65 6e 74 29 20 65 6e 68 61 6e 63 65  ncement) enhance
35070 64 20 74 63 6c 74 65 73 74 20 70 61 63 6b 61 67  d tcltest packag
35080 65 0a 0a 31 39 39 39 2d 30 39 2d 31 36 20 28 66  e..1999-09-16 (f
35090 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65  eature enhanceme
350a0 6e 74 29 20 61 64 64 65 64 20 2d 6d 69 6c 6c 69  nt) added -milli
350b0 73 65 63 6f 6e 64 73 20 73 77 69 74 63 68 20 74  seconds switch t
350c0 6f 20 27 63 6c 6f 63 6b 20 63 6c 69 63 6b 73 27  o 'clock clicks'
350d0 0a 0a 31 39 39 39 2d 31 30 2d 32 38 20 28 66 65  ..1999-10-28 (fe
350e0 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e  ature enhancemen
350f0 74 29 20 61 64 64 65 64 20 73 75 70 70 6f 72 74  t) added support
35100 20 66 6f 72 20 69 6e 6c 69 6e 65 20 27 73 63 61   for inline 'sca
35110 6e 27 0a 0a 31 39 39 39 2d 31 30 2d 32 38 20 28  n'..1999-10-28 (
35120 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d  feature enhancem
35130 65 6e 74 29 20 61 64 64 65 64 20 73 75 70 70 6f  ent) added suppo
35140 72 74 20 66 6f 72 20 74 6f 75 63 68 20 66 75 6e  rt for touch fun
35150 63 74 69 6f 6e 61 6c 69 74 79 20 62 79 0a 65 78  ctionality by.ex
35160 74 65 6e 64 65 64 69 6e 67 20 27 66 69 6c 65 20  tendeding 'file 
35170 61 74 69 6d 65 27 20 61 6e 64 20 27 66 69 6c 65  atime' and 'file
35180 20 6d 74 69 6d 65 27 20 74 6f 20 74 61 6b 65 20   mtime' to take 
35190 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 74 69 6d 65  an optional time
351a0 20 61 72 67 75 6d 65 6e 74 0a 0a 31 39 39 39 2d   argument..1999-
351b0 31 31 2d 32 34 20 28 66 65 61 74 75 72 65 20 65  11-24 (feature e
351c0 6e 68 61 6e 63 65 6d 65 6e 74 29 20 61 64 64 65  nhancement) adde
351d0 64 20 27 66 63 6f 6e 66 69 67 75 72 65 20 24 73  d 'fconfigure $s
351e0 6f 63 6b 20 2d 6c 61 73 74 65 72 72 6f 72 27 0a  ock -lasterror'.
351f0 63 6f 6d 6d 61 6e 64 20 74 6f 20 57 69 6e 64 6f  command to Windo
35200 77 73 20 74 6f 20 71 75 65 72 79 20 74 68 65 20  ws to query the 
35210 6c 61 73 74 20 65 72 72 6f 72 20 72 65 63 65 69  last error recei
35220 76 65 64 20 6f 6e 20 61 20 73 65 72 69 61 6c 20  ved on a serial 
35230 73 6f 63 6b 65 74 2e 0a 0a 31 39 39 39 2d 31 31  socket...1999-11
35240 2d 33 30 20 28 62 75 67 20 66 69 78 29 20 66 69  -30 (bug fix) fi
35250 78 65 64 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20  xed handling of 
35260 25 5a 20 6f 6e 20 4e 54 20 66 6f 72 20 74 69 6d  %Z on NT for tim
35270 65 7a 6f 6e 65 73 20 74 68 61 74 20 64 6f 6e 27  ezones that don'
35280 74 0a 68 61 76 65 20 44 53 54 0a 0a 31 39 39 39  t.have DST..1999
35290 2d 31 32 2d 30 33 20 28 66 65 61 74 75 72 65 20  -12-03 (feature 
352a0 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 69 6d 70  enhancement) imp
352b0 72 6f 76 65 64 20 65 72 72 6f 72 20 6d 65 73 73  roved error mess
352c0 61 67 65 20 69 6e 20 62 61 64 20 6f 63 74 61 6c  age in bad octal
352d0 20 63 61 73 65 73 0a 61 6e 64 20 69 6d 70 72 6f   cases.and impro
352e0 70 65 72 20 75 73 65 20 6f 66 20 63 6f 6d 6d 65  per use of comme
352f0 6e 74 73 2e 20 28 68 6f 62 62 73 29 0a 0a 31 39  nts. (hobbs)..19
35300 39 39 2d 31 32 2d 30 37 20 28 62 75 67 20 66 69  99-12-07 (bug fi
35310 78 29 20 66 69 78 65 64 20 54 63 6c 5f 53 63 61  x) fixed Tcl_Sca
35320 6e 43 6f 75 6e 74 65 64 45 6c 65 6d 65 6e 74 20  nCountedElement 
35330 74 6f 20 6e 6f 74 20 73 74 65 70 0a 62 65 79 6f  to not step.beyo
35340 6e 64 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68  nd the end of th
35350 65 20 63 6f 75 6e 74 65 64 20 73 74 72 69 6e 67  e counted string
35360 0a 0a 31 39 39 39 2d 31 32 2d 30 39 20 28 66 65  ..1999-12-09 (fe
35370 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e  ature enhancemen
35380 74 29 20 72 65 6d 6f 76 65 64 20 61 6c 6c 20 72  t) removed all r
35390 65 66 65 72 65 6e 63 65 73 20 74 6f 20 31 36 20  eferences to 16 
353a0 62 69 74 0a 63 6f 6d 70 61 74 69 62 69 6c 69 74  bit.compatibilit
353b0 79 20 63 6f 64 65 20 66 6f 72 20 57 69 6e 64 6f  y code for Windo
353c0 77 73 20 28 68 6f 62 62 73 29 0a 0a 31 39 39 39  ws (hobbs)..1999
353d0 2d 31 32 2d 31 30 20 28 62 75 67 20 66 69 78 29  -12-10 (bug fix)
353e0 20 72 65 6d 6f 76 65 64 20 63 68 65 63 6b 20 66   removed check f
353f0 6f 72 20 76 66 6f 72 6b 20 2d 20 54 63 6c 20 6e  or vfork - Tcl n
35400 6f 77 20 75 73 65 73 20 6f 6e 6c 79 20 66 6f 72  ow uses only for
35410 6b 20 69 6e 0a 65 78 65 63 2e 20 28 68 6f 62 62  k in.exec. (hobb
35420 73 29 0a 0a 31 39 39 39 2d 31 32 2d 31 30 20 28  s)..1999-12-10 (
35430 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 29 20 63 68  optimization) ch
35440 61 6e 67 65 64 20 54 63 6c 5f 43 6f 6e 63 61 74  anged Tcl_Concat
35450 4f 62 6a 20 74 6f 20 72 65 74 75 72 6e 20 61 20  Obj to return a 
35460 6c 69 73 74 0a 6f 62 6a 65 63 74 20 77 68 65 6e  list.object when
35470 20 69 74 20 72 65 63 65 69 76 65 73 20 61 6c 6c   it receives all
35480 20 70 75 72 65 20 6c 69 73 74 20 6f 62 6a 65 63   pure list objec
35490 74 73 20 61 73 20 69 6e 70 75 74 20 28 75 73 65  ts as input (use
354a0 64 20 62 79 20 27 63 6f 6e 63 61 74 27 29 2c 0a  d by 'concat'),.
354b0 61 64 64 65 64 20 6f 70 74 69 6d 69 7a 61 74 69  added optimizati
354c0 6f 6e 73 20 69 6e 20 54 63 6c 5f 45 76 61 6c 4f  ons in Tcl_EvalO
354d0 62 6a 45 78 20 66 6f 72 20 70 75 72 65 20 6c 69  bjEx for pure li
354e0 73 74 20 63 61 73 65 2c 20 61 6e 64 20 6f 70 74  st case, and opt
354f0 69 6d 69 7a 65 64 0a 49 4e 53 54 5f 54 52 59 5f  imized.INST_TRY_
35500 43 56 54 5f 54 4f 5f 4e 55 4d 45 52 49 43 20 69  CVT_TO_NUMERIC i
35510 6e 20 54 63 6c 45 78 65 63 75 74 65 42 79 74 65  n TclExecuteByte
35520 43 6f 64 65 20 66 6f 72 20 62 6f 6f 6c 65 61 6e  Code for boolean
35530 20 6f 62 6a 65 63 74 73 2e 0a 28 6f 61 6b 6c 65   objects..(oakle
35540 79 2c 20 68 6f 62 62 73 29 0a 0a 31 39 39 39 2d  y, hobbs)..1999-
35550 31 32 2d 31 32 20 28 66 65 61 74 75 72 65 20 65  12-12 (feature e
35560 6e 68 61 6e 63 65 6d 65 6e 74 29 20 65 6e 68 61  nhancement) enha
35570 6e 63 65 64 20 67 6c 6f 62 20 63 6f 6d 6d 61 6e  nced glob comman
35580 64 20 77 69 74 68 20 2d 74 79 70 65 2c 20 2d 70  d with -type, -p
35590 61 74 68 2c 0a 2d 64 69 72 65 63 74 6f 72 79 20  ath,.-directory 
355a0 61 6e 64 20 2d 6a 6f 69 6e 20 73 77 69 74 63 68  and -join switch
355b0 65 73 2e 20 28 64 61 72 6c 65 79 2c 20 68 6f 62  es. (darley, hob
355c0 62 73 29 0a 0a 31 39 39 39 2d 31 32 2d 32 31 20  bs)..1999-12-21 
355d0 28 62 75 67 20 66 69 78 29 20 63 68 61 6e 67 65  (bug fix) change
355e0 64 20 43 72 65 61 74 65 54 68 72 65 61 64 20 74  d CreateThread t
355f0 6f 20 5f 62 65 67 69 6e 74 68 72 65 61 64 65 78  o _beginthreadex
35600 20 61 6e 64 0a 45 78 69 74 54 68 72 65 61 64 20   and.ExitThread 
35610 74 6f 20 5f 65 6e 64 74 68 72 65 61 64 65 78 20  to _endthreadex 
35620 74 6f 20 70 72 65 76 65 6e 74 20 34 4b 20 6d 65  to prevent 4K me
35630 6d 20 6c 65 61 6b 20 28 67 72 61 76 65 72 65 61  m leak (graverea
35640 75 78 29 0a 0a 31 39 39 39 2d 31 32 2d 32 31 20  ux)..1999-12-21 
35650 28 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20  (bug fix) fixed 
35660 61 70 70 6c 65 73 63 72 69 70 74 20 66 6f 72 20  applescript for 
35670 49 31 38 4e 0a 0a 31 39 39 39 2d 31 32 2d 32 31  I18N..1999-12-21
35680 20 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63   (feature enhanc
35690 65 6d 65 6e 74 29 20 61 64 64 65 64 20 2d 75 6e  ement) added -un
356a0 69 71 75 65 20 6f 70 74 69 6f 6e 20 74 6f 20 6c  ique option to l
356b0 73 6f 72 74 20 28 68 6f 62 62 73 29 0a 0a 31 39  sort (hobbs)..19
356c0 39 39 2d 31 32 2d 32 31 20 28 62 75 67 20 66 69  99-12-21 (bug fi
356d0 78 29 20 63 68 61 6e 67 65 64 20 74 68 72 65 61  x) changed threa
356e0 64 20 69 64 73 20 74 6f 20 6c 6f 6e 67 73 20 28  d ids to longs (
356f0 66 6f 72 20 36 34 62 69 74 20 73 79 73 74 65 6d  for 64bit system
35700 73 29 0a 0a 2d 2d 2d 20 52 65 6c 65 61 73 65 64  s)..--- Released
35710 20 38 2e 33 62 31 2c 20 44 65 63 65 6d 62 65 72   8.3b1, December
35720 20 32 32 2c 20 31 39 39 39 20 2d 2d 2d 20 53 65   22, 1999 --- Se
35730 65 20 43 68 61 6e 67 65 4c 6f 67 20 66 6f 72 20  e ChangeLog for 
35740 64 65 74 61 69 6c 73 20 2d 2d 2d 0a 0a 32 30 30  details ---..200
35750 30 2d 30 31 2d 31 30 20 28 66 65 61 74 75 72 65  0-01-10 (feature
35760 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 63 6c   enhancement) cl
35770 6f 63 6b 20 73 63 61 6e 20 6e 6f 77 20 73 75 70  ock scan now sup
35780 70 6f 72 74 73 20 74 68 65 20 63 6f 6d 6d 6f 6e  ports the common
35790 0a 49 53 4f 20 38 36 30 31 20 64 61 74 65 2f 74  .ISO 8601 date/t
357a0 69 6d 65 20 66 6f 72 6d 61 74 73 2e 20 20 53 65  ime formats.  Se
357b0 65 20 64 6f 63 73 20 66 6f 72 20 64 65 74 61 69  e docs for detai
357c0 6c 73 2e 20 28 6d 65 6c 73 6b 69 29 0a 0a 32 30  ls. (melski)..20
357d0 30 30 2d 30 31 2d 31 30 20 28 62 75 67 20 66 69  00-01-10 (bug fi
357e0 78 29 20 70 72 65 76 65 6e 74 65 64 20 5c 6f 6f  x) prevented \oo
357f0 6f 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 66  o substitution f
35800 72 6f 6d 20 61 63 63 65 70 74 69 6e 67 0a 6e 6f  rom accepting.no
35810 6e 2d 6f 63 74 61 6c 20 64 69 67 69 74 73 20 5b  n-octal digits [
35820 42 75 67 3a 20 33 39 37 35 5d 20 28 68 6f 62 62  Bug: 3975] (hobb
35830 73 29 0a 0a 32 30 30 30 2d 30 31 2d 31 31 20 28  s)..2000-01-11 (
35840 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20 69  bug fix) fixed i
35850 6d 70 72 6f 70 65 72 20 68 61 6e 64 6c 69 6e 67  mproper handling
35860 20 6f 66 20 44 53 54 20 62 79 20 63 6c 6f 63 6b   of DST by clock
35870 20 77 68 65 6e 0a 75 73 69 6e 67 20 72 65 6c 61   when.using rela
35880 74 69 76 65 20 74 69 6d 65 73 20 28 6c 69 6b 65  tive times (like
35890 20 22 31 20 6d 6f 6e 74 68 22 20 6f 72 20 22 74   "1 month" or "t
358a0 6f 6d 6f 72 72 6f 77 22 29 2e 20 28 6d 65 6c 73  omorrow"). (mels
358b0 6b 69 29 0a 0a 32 30 30 30 2d 30 31 2d 31 32 20  ki)..2000-01-12 
358c0 28 62 75 67 20 66 69 78 29 20 69 6d 70 72 6f 76  (bug fix) improv
358d0 65 64 20 62 75 69 6c 64 20 73 75 70 70 6f 72 74  ed build support
358e0 20 66 6f 72 20 54 72 75 36 34 20 76 35 2c 20 4e   for Tru64 v5, N
358f0 65 74 42 53 44 0a 61 6e 64 20 52 65 6c 69 61 6e  etBSD.and Relian
35900 74 20 55 6e 69 78 20 28 68 6f 62 62 73 29 0a 0a  t Unix (hobbs)..
35910 32 30 30 30 2d 30 31 2d 31 32 20 28 62 75 67 20  2000-01-12 (bug 
35920 66 69 78 29 20 6d 61 64 65 20 69 6d 70 6f 72 74  fix) made import
35930 65 64 20 63 6f 6d 6d 61 6e 64 73 20 61 6c 73 6f  ed commands also
35940 20 69 6d 70 6f 72 74 20 74 68 65 69 72 0a 63 6f   import their.co
35950 6d 70 69 6c 65 20 70 72 6f 63 65 64 75 72 65 20  mpile procedure 
35960 28 64 75 66 66 69 6e 29 0a 0a 32 30 30 30 2d 30  (duffin)..2000-0
35970 31 2d 31 32 20 28 62 75 67 20 66 69 78 29 20 66  1-12 (bug fix) f
35980 69 78 65 64 20 27 69 6e 66 6f 20 70 72 6f 63 73  ixed 'info procs
35990 20 3a 3a 6e 61 6d 65 73 70 3a 3a 2a 27 20 62 65   ::namesp::*' be
359a0 68 61 76 69 6f 72 20 74 6f 20 72 65 74 75 72 6e  havior to return
359b0 0a 70 72 6f 63 73 20 69 6e 20 61 20 6e 61 6d 65  .procs in a name
359c0 73 70 61 63 65 20 28 64 65 6a 6f 6e 67 29 0a 0a  space (dejong)..
359d0 32 30 30 30 2d 30 31 2d 31 32 20 28 66 65 61 74  2000-01-12 (feat
359e0 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29  ure enhancement)
359f0 20 61 64 64 65 64 20 73 75 70 70 6f 72 74 20 66   added support f
35a00 6f 72 20 73 65 74 74 69 6e 67 20 70 65 72 6d 69  or setting permi
35a10 73 73 69 6f 6e 73 0a 73 79 6d 62 6f 6c 69 63 6c  ssions.symbolicl
35a20 79 20 28 6c 69 6b 65 20 63 68 6d 6f 64 29 20 69  y (like chmod) i
35a30 6e 20 5b 66 69 6c 65 20 61 74 74 72 69 62 75 74  n [file attribut
35a40 65 73 20 24 66 69 6c 65 20 2d 70 65 72 6d 69 73  es $file -permis
35a50 73 69 6f 6e 73 20 2e 2e 2e 5d 20 28 73 63 68 6f  sions ...] (scho
35a60 65 62 65 6c 29 0a 0a 32 30 30 30 2d 30 31 2d 31  ebel)..2000-01-1
35a70 33 20 28 62 75 67 20 66 69 78 29 20 66 69 78 65  3 (bug fix) fixe
35a80 64 20 6c 73 6f 72 74 20 2d 64 69 63 74 69 6f 6e  d lsort -diction
35a90 61 72 79 20 70 72 6f 62 6c 65 6d 20 77 68 65 6e  ary problem when
35aa0 20 73 6f 72 74 69 6e 67 0a 63 68 61 72 61 63 74   sorting.charact
35ab0 65 72 73 20 62 65 74 77 65 65 6e 20 27 5a 27 20  ers between 'Z' 
35ac0 61 6e 64 20 27 61 27 20 28 66 6c 61 77 65 64 20  and 'a' (flawed 
35ad0 75 70 70 65 72 2f 6c 6f 77 65 72 20 63 6f 6d 70  upper/lower comp
35ae0 61 72 69 73 6f 6e 20 6c 6f 67 69 63 29 20 28 6d  arison logic) (m
35af0 65 6c 73 6b 69 29 0a 0a 2d 2d 2d 20 52 65 6c 65  elski)..--- Rele
35b00 61 73 65 64 20 38 2e 33 62 32 2c 20 4a 61 6e 75  ased 8.3b2, Janu
35b10 61 72 79 20 31 33 2c 20 32 30 30 30 20 2d 2d 2d  ary 13, 2000 ---
35b20 20 53 65 65 20 43 68 61 6e 67 65 4c 6f 67 20 66   See ChangeLog f
35b30 6f 72 20 64 65 74 61 69 6c 73 20 2d 2d 2d 0a 0a  or details ---..
35b40 32 30 30 30 2d 30 31 2d 31 34 20 28 66 65 61 74  2000-01-14 (feat
35b50 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29  ure enhancement)
35b60 20 63 6c 6f 63 6b 20 66 6f 72 6d 61 74 20 25 51   clock format %Q
35b70 20 61 64 64 65 64 2c 20 63 6c 6f 63 6b 20 73 63   added, clock sc
35b80 61 6e 20 75 70 64 61 74 65 64 0a 0a 32 30 30 30  an updated..2000
35b90 2d 30 31 2d 32 30 20 28 62 75 67 20 66 69 78 29  -01-20 (bug fix)
35ba0 20 63 6f 72 72 65 63 74 65 64 20 63 6f 6d 70 6c   corrected compl
35bb0 65 78 20 61 72 72 61 79 20 65 6c 65 6d 20 63 6f  ex array elem co
35bc0 6d 70 69 6c 69 6e 67 20 28 53 70 6a 75 74 68 29  mpiling (Spjuth)
35bd0 0a 0a 32 30 30 30 2d 30 31 2d 32 30 20 28 62 75  ..2000-01-20 (bu
35be0 67 20 66 69 78 29 20 6d 61 64 65 20 5b 69 6e 66  g fix) made [inf
35bf0 6f 20 62 6f 64 79 5d 20 61 6c 77 61 79 73 20 72  o body] always r
35c00 65 74 75 72 6e 20 61 20 73 74 72 69 6e 67 20 74  eturn a string t
35c10 79 70 65 20 61 72 67 2c 0a 74 6f 20 70 72 65 76  ype arg,.to prev
35c20 65 6e 74 20 70 6f 73 73 69 62 6c 65 20 6d 69 73  ent possible mis
35c30 75 73 65 20 6f 66 20 62 79 74 65 63 6f 64 65 73  use of bytecodes
35c40 20 69 6e 20 74 68 65 20 77 72 6f 6e 67 20 63 6f   in the wrong co
35c50 6e 74 65 78 74 20 28 68 6f 62 62 73 29 0a 0a 32  ntext (hobbs)..2
35c60 30 30 30 2d 30 31 2d 32 30 20 28 62 75 67 20 66  000-01-20 (bug f
35c70 69 78 65 73 29 20 73 65 76 65 72 61 6c 20 66 69  ixes) several fi
35c80 78 65 73 20 74 6f 20 76 61 72 69 61 62 6c 65 20  xes to variable 
35c90 68 61 6e 64 6c 69 6e 67 20 74 6f 20 70 72 65 76  handling to prev
35ca0 65 6e 74 0a 70 6f 73 73 69 62 6c 65 20 63 72 61  ent.possible cra
35cb0 73 68 65 73 2c 20 61 6e 64 20 66 75 72 74 68 65  shes, and furthe
35cc0 72 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20  r definition of 
35cd0 63 6f 72 72 65 63 74 20 62 65 68 61 76 69 6f 72  correct behavior
35ce0 20 28 6d 65 6c 73 6b 69 29 0a 0a 32 30 30 30 2d   (melski)..2000-
35cf0 30 31 2d 32 35 20 28 62 75 67 20 66 69 78 65 73  01-25 (bug fixes
35d00 29 20 69 6d 70 72 6f 76 65 64 20 51 4e 58 2c 20  ) improved QNX, 
35d10 55 6c 74 72 69 78 20 61 6e 64 20 4f 53 46 31 20  Ultrix and OSF1 
35d20 28 54 72 75 36 34 29 20 63 6f 6e 66 69 67 20 61  (Tru64) config a
35d30 6e 64 0a 63 6f 6d 70 61 74 69 62 69 6c 69 74 79  nd.compatibility
35d40 20 28 65 64 67 65 2c 20 66 75 72 75 6b 61 77 61   (edge, furukawa
35d50 29 0a 0a 32 30 30 30 2d 30 31 2d 32 35 20 28 62  )..2000-01-25 (b
35d60 75 67 20 66 69 78 29 20 66 69 78 65 64 20 6d 65  ug fix) fixed me
35d70 6d 20 6c 65 61 6b 20 77 68 65 6e 20 63 61 6c 6c  m leak when call
35d80 69 6e 67 20 6c 73 6f 72 74 20 77 69 74 68 20 61  ing lsort with a
35d90 20 62 61 64 20 2d 63 6f 6d 6d 61 6e 64 0a 61 72   bad -command.ar
35da0 67 75 6d 65 6e 74 20 28 68 6f 62 62 73 29 0a 0a  gument (hobbs)..
35db0 32 30 30 30 2d 30 31 2d 32 37 20 28 66 65 61 74  2000-01-27 (feat
35dc0 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29  ure enhancement)
35dd0 20 70 61 63 6b 61 67 65 20 6d 65 63 68 61 6e 69   package mechani
35de0 73 6d 20 6f 76 65 72 68 61 75 6c 3a 20 63 68 61  sm overhaul: cha
35df0 6e 67 65 64 0a 62 65 68 61 76 69 6f 72 20 6f 66  nged.behavior of
35e00 20 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 74 6f 20   pkg_mkIndex to 
35e10 64 6f 20 2d 64 69 72 65 63 74 20 62 79 20 64 65  do -direct by de
35e20 66 61 75 6c 74 2c 20 61 64 64 65 64 20 2d 6c 61  fault, added -la
35e30 7a 79 20 6f 70 74 69 6f 6e 2e 0a 46 69 78 65 64  zy option..Fixed
35e40 20 70 6b 67 5f 6d 6b 49 6e 64 65 78 20 74 6f 20   pkg_mkIndex to 
35e50 68 61 6e 64 6c 65 20 6f 64 64 20 70 72 6f 63 20  handle odd proc 
35e60 6e 61 6d 65 73 20 61 6e 64 20 61 75 74 6f 5f 6d  names and auto_m
35e70 6b 49 6e 64 65 78 20 74 6f 20 75 73 65 20 70 6c  kIndex to use pl
35e80 61 74 66 6f 72 6d 0a 69 6e 64 65 70 65 6e 64 65  atform.independe
35e90 6e 74 20 66 69 6c 65 20 70 61 74 68 73 2e 20 20  nt file paths.  
35ea0 4f 74 68 65 72 20 66 69 78 65 73 20 66 6f 72 20  Other fixes for 
35eb0 6f 64 64 20 70 61 63 6b 61 67 65 20 71 75 69 72  odd package quir
35ec0 6b 73 2e 20 20 41 64 64 65 64 0a 3a 3a 70 6b 67  ks.  Added.::pkg
35ed0 20 6e 61 6d 65 73 70 61 63 65 20 61 6e 64 20 3a   namespace and :
35ee0 3a 70 6b 67 3a 3a 63 72 65 61 74 65 20 68 65 6c  :pkg::create hel
35ef0 70 65 72 20 66 75 6e 63 74 69 6f 6e 2e 20 28 6d  per function. (m
35f00 65 6c 73 6b 69 29 0a 0a 32 30 30 30 2d 30 32 2d  elski)..2000-02-
35f10 30 31 20 28 62 75 67 20 66 69 78 29 20 66 69 78  01 (bug fix) fix
35f20 65 64 20 70 72 6f 62 6c 65 6d 20 77 68 65 72 65  ed problem where
35f30 20 68 74 74 70 20 50 4f 53 54 20 77 6f 75 6c 64   http POST would
35f40 20 73 65 6e 64 20 6f 6e 65 20 65 78 74 72 61 0a   send one extra.
35f50 6e 65 77 6c 69 6e 65 20 28 76 61 73 69 6c 6a 65  newline (vasilje
35f60 76 69 63 29 0a 0a 32 30 30 30 2d 30 32 2d 30 32  vic)..2000-02-02
35f70 20 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63   (feature enhanc
35f80 65 6d 65 6e 74 29 20 61 64 64 65 64 20 64 6f 63  ement) added doc
35f90 73 20 66 6f 72 20 6e 65 77 20 72 65 67 65 78 70  s for new regexp
35fa0 20 2d 69 6e 6c 69 6e 65 20 61 6e 64 0a 2d 61 6c   -inline and.-al
35fb0 6c 20 73 77 69 74 63 68 65 73 2e 20 28 68 6f 62  l switches. (hob
35fc0 62 73 29 0a 0a 32 30 30 30 2d 30 32 2d 30 38 20  bs)..2000-02-08 
35fd0 28 62 75 67 20 66 69 78 29 20 63 6f 72 72 65 63  (bug fix) correc
35fe0 74 65 64 20 68 61 6e 64 6c 69 6e 67 20 6f 66 20  ted handling of 
35ff0 22 6e 65 78 74 20 6d 6f 6e 74 68 6e 61 6d 65 22  "next monthname"
36000 20 69 6e 20 63 6c 6f 63 6b 20 73 63 61 6e 0a 28   in clock scan.(
36010 6d 65 6c 73 6b 69 29 0a 0a 32 30 30 30 2d 30 32  melski)..2000-02
36020 2d 30 39 20 28 62 75 67 20 66 69 78 29 20 72 65  -09 (bug fix) re
36030 73 74 6f 72 65 64 20 4d 61 63 20 73 6f 75 72 63  stored Mac sourc
36040 65 20 74 6f 20 62 75 69 6c 64 20 72 65 61 64 69  e to build readi
36050 6e 65 73 73 20 61 6e 64 20 70 72 65 76 65 6e 74  ness and prevent
36060 65 64 0a 6d 61 63 20 70 61 6e 69 63 20 66 72 6f  ed.mac panic fro
36070 6d 20 61 6e 20 65 72 72 6f 72 20 77 68 65 6e 20  m an error when 
36080 63 6c 6f 73 69 6e 67 20 61 6e 20 61 73 79 6e 63  closing an async
36090 20 73 6f 63 6b 65 74 20 28 73 74 65 66 66 65 6e   socket (steffen
360a0 2c 20 69 6e 67 68 61 6d 29 0a 0a 32 30 30 30 2d  , ingham)..2000-
360b0 30 32 2d 31 30 20 28 66 65 61 74 75 72 65 20 65  02-10 (feature e
360c0 6e 68 61 6e 63 65 6d 65 6e 74 29 20 69 6d 70 72  nhancement) impr
360d0 6f 76 65 64 20 65 72 72 6f 72 20 72 65 70 6f 72  oved error repor
360e0 74 69 6e 67 20 66 6f 72 20 66 61 69 6c 65 64 0a  ting for failed.
360f0 6c 6f 61 64 73 20 6f 6e 20 57 69 6e 64 6f 77 73  loads on Windows
36100 20 28 64 65 6a 6f 6e 67 2c 20 68 6f 62 62 73 29   (dejong, hobbs)
36110 0a 0a 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 38  ..--- Released 8
36120 2e 33 2e 30 2c 20 46 65 62 72 75 61 72 79 20 31  .3.0, February 1
36130 30 2c 20 32 30 30 30 20 2d 2d 2d 20 53 65 65 20  0, 2000 --- See 
36140 43 68 61 6e 67 65 4c 6f 67 20 66 6f 72 20 64 65  ChangeLog for de
36150 74 61 69 6c 73 20 2d 2d 2d 0a 0a 32 30 30 30 2d  tails ---..2000-
36160 30 33 20 28 62 75 67 20 66 69 78 65 73 2c 20 66  03 (bug fixes, f
36170 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65  eature enhanceme
36180 6e 74 29 20 6f 76 65 72 68 61 75 6c 20 6f 66 20  nt) overhaul of 
36190 68 74 74 70 20 70 61 63 6b 61 67 65 20 66 6f 72  http package for
361a0 0a 70 72 6f 70 65 72 20 68 61 6e 64 6c 69 6e 67  .proper handling
361b0 20 6f 66 20 61 73 79 6e 63 20 63 61 6c 6c 62 61   of async callba
361c0 63 6b 73 20 28 6e 65 77 20 6f 70 74 69 6f 6e 73  cks (new options
361d0 29 2c 20 76 65 72 73 69 6f 6e 20 69 73 20 6e 6f  ), version is no
361e0 77 20 61 74 20 32 2e 33 0a 28 74 61 6d 68 61 6e  w at 2.3.(tamhan
361f0 6b 61 72 2c 20 77 65 6c 63 68 29 0a 0a 32 30 30  kar, welch)..200
36200 30 2d 30 33 20 28 70 65 72 66 6f 72 6d 61 6e 63  0-03 (performanc
36210 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 73  e enhancement) s
36220 70 65 65 64 75 70 20 69 6e 20 57 69 6e 64 6f 77  peedup in Window
36230 73 20 66 69 6c 65 6e 61 6d 65 20 68 61 6e 64 6c  s filename handl
36240 69 6e 67 20 28 6e 65 77 6d 61 6e 29 0a 61 6e 64  ing (newman).and
36250 20 3d 3d 2f 21 3d 20 65 6d 70 74 79 20 73 74 72   ==/!= empty str
36260 69 6e 67 20 69 6e 20 65 78 70 72 73 2e 20 28 68  ing in exprs. (h
36270 6f 62 62 73 29 0a 0a 32 30 30 30 2d 30 33 2d 32  obbs)..2000-03-2
36280 37 20 28 62 75 67 20 66 69 78 29 20 61 64 64 65  7 (bug fix) adde
36290 64 20 75 6e 69 71 27 69 6e 67 20 74 65 73 74 20  d uniq'ing test 
362a0 74 6f 20 6e 61 6d 65 73 70 61 63 65 20 65 78 70  to namespace exp
362b0 6f 72 74 20 6c 69 73 74 20 74 6f 0a 70 72 65 76  ort list to.prev
362c0 65 6e 74 20 75 6e 6e 65 63 65 73 73 61 72 79 20  ent unnecessary 
362d0 6d 65 6d 20 67 72 6f 77 74 68 20 28 68 6f 62 62  mem growth (hobb
362e0 73 29 0a 0a 32 30 30 30 2d 30 33 2d 32 39 20 28  s)..2000-03-29 (
362f0 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20 6d  bug fix) fixed m
36300 65 6d 20 6c 65 61 6b 20 77 68 65 6e 20 72 65 70  em leak when rep
36310 65 61 74 65 64 6c 79 20 73 6f 75 72 63 69 6e 67  eatedly sourcing
36320 20 74 68 65 20 73 61 6d 65 0a 62 79 74 65 63 6f   the same.byteco
36330 6d 70 69 6c 65 64 20 28 74 62 63 29 20 63 6f 64  mpiled (tbc) cod
36340 65 20 72 65 70 65 61 74 65 64 6c 79 20 61 63 72  e repeatedly acr
36350 6f 73 73 20 64 69 66 66 65 72 65 6e 74 20 69 6e  oss different in
36360 74 65 72 70 72 65 74 65 72 73 20 28 68 6f 62 62  terpreters (hobb
36370 73 29 0a 0a 32 30 30 30 2d 30 33 2d 32 39 20 28  s)..2000-03-29 (
36380 63 6f 6e 66 69 67 20 65 6e 68 61 6e 63 65 6d 65  config enhanceme
36390 6e 74 29 20 69 6d 70 72 6f 76 65 64 20 62 75 69  nt) improved bui
363a0 6c 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 67  ld support for g
363b0 63 63 2f 6d 69 6e 67 77 20 6f 6e 0a 57 69 6e 64  cc/mingw on.Wind
363c0 6f 77 73 20 28 6e 69 6a 74 6d 61 6e 73 2c 20 68  ows (nijtmans, h
363d0 6f 62 62 73 29 20 61 6e 64 20 61 64 64 65 64 20  obbs) and added 
363e0 52 50 4d 20 74 61 72 67 65 74 20 28 6d 65 6c 73  RPM target (mels
363f0 6b 69 29 0a 0a 32 30 30 30 2d 30 33 2d 33 31 20  ki)..2000-03-31 
36400 28 62 75 67 20 66 69 78 29 20 63 6f 72 72 65 63  (bug fix) correc
36410 74 65 64 20 64 61 74 61 20 65 6e 63 6f 64 69 6e  ted data encodin
36420 67 20 70 72 6f 62 6c 65 6d 20 77 68 65 6e 20 75  g problem when u
36430 73 69 6e 67 0a 22 65 78 65 63 20 3c 3c 20 24 64  sing."exec << $d
36440 61 74 61 22 20 63 6f 6e 73 74 72 75 63 74 20 28  ata" construct (
36450 6d 65 6c 73 6b 69 29 0a 0a 32 30 30 30 2d 30 34  melski)..2000-04
36460 20 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63   (feature enhanc
36470 65 6d 65 6e 74 29 20 6f 76 65 72 68 61 75 6c 20  ement) overhaul 
36480 6f 66 20 74 68 72 65 61 64 69 6e 67 20 6d 65 63  of threading mec
36490 68 61 6e 69 73 6d 20 74 6f 20 62 65 74 74 65 72  hanism to better
364a0 0a 73 75 70 70 6f 72 74 20 74 63 6c 20 6c 65 76  .support tcl lev
364b0 65 6c 20 74 68 72 65 61 64 20 63 6f 6d 6d 61 6e  el thread comman
364c0 64 20 28 6e 65 77 20 41 50 49 73 20 54 63 6c 5f  d (new APIs Tcl_
364d0 43 6f 6e 64 69 74 69 6f 6e 46 69 6e 61 6c 69 7a  ConditionFinaliz
364e0 65 2c 0a 54 63 6c 5f 4d 75 74 65 78 46 69 6e 61  e,.Tcl_MutexFina
364f0 6c 69 7a 65 2c 20 54 63 6c 5f 43 72 65 61 74 65  lize, Tcl_Create
36500 54 68 72 65 61 64 2c 20 65 74 63 2c 20 61 6c 6c  Thread, etc, all
36510 20 64 6f 63 73 20 69 6e 20 54 68 72 65 61 64 2e   docs in Thread.
36520 33 29 2e 0a 28 6b 75 70 72 69 65 73 2c 20 67 72  3)..(kupries, gr
36530 61 76 65 72 61 75 78 29 0a 54 68 69 73 20 65 6e  averaux).This en
36540 61 62 6c 65 73 20 74 68 65 20 74 63 6c 20 6c 65  ables the tcl le
36550 76 65 6c 20 74 68 72 65 61 64 20 65 78 74 65 6e  vel thread exten
36560 73 69 6f 6e 2e 20 28 77 65 6c 63 68 29 0a 0a 32  sion. (welch)..2
36570 30 30 30 2d 30 34 2d 31 30 20 28 62 75 67 20 66  000-04-10 (bug f
36580 69 78 29 20 66 69 78 65 64 20 69 6e 66 69 6e 69  ix) fixed infini
36590 74 65 20 6c 6f 6f 70 20 63 61 73 65 20 69 6e 20  te loop case in 
365a0 72 65 67 65 78 70 20 2d 61 6c 6c 20 28 6d 65 6c  regexp -all (mel
365b0 73 6b 69 29 0a 0a 32 30 30 30 2d 30 34 2d 31 33  ski)..2000-04-13
365c0 20 28 63 6f 6e 66 69 67 20 65 6e 68 61 6e 63 65   (config enhance
365d0 6d 65 6e 74 29 20 61 64 64 65 64 20 73 75 70 70  ment) added supp
365e0 6f 72 74 20 66 6f 72 20 2d 2d 65 6e 61 62 6c 65  ort for --enable
365f0 2d 36 34 62 69 74 2d 76 69 73 0a 53 70 61 72 63  -64bit-vis.Sparc
36600 20 74 61 72 67 65 74 2e 20 28 68 6f 62 62 73 29   target. (hobbs)
36610 0a 0a 32 30 30 30 2d 30 34 2d 31 38 20 28 62 75  ..2000-04-18 (bu
36620 67 20 66 69 78 29 20 6d 6f 76 65 64 20 74 63 6c  g fix) moved tcl
36630 4c 69 62 72 61 72 79 50 61 74 68 20 74 6f 20 74  LibraryPath to t
36640 68 72 65 61 64 2d 6c 6f 63 61 6c 20 73 74 6f 72  hread-local stor
36650 61 67 65 20 74 6f 20 66 69 78 0a 70 6f 73 73 69  age to fix.possi
36660 62 6c 65 20 72 61 63 65 20 63 6f 6e 64 69 74 69  ble race conditi
36670 6f 6e 20 6f 6e 20 4d 50 20 6d 61 63 68 69 6e 65  on on MP machine
36680 73 20 28 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d  s (hobbs)..2000-
36690 30 34 2d 31 38 20 28 63 6f 6e 66 69 67 20 65 6e  04-18 (config en
366a0 68 61 6e 63 65 6d 65 6e 74 29 20 61 64 64 65 64  hancement) added
366b0 20 4d 61 63 4f 53 20 58 20 62 75 69 6c 64 20 74   MacOS X build t
366c0 61 72 67 65 74 20 61 6e 64 0a 74 63 6c 4c 6f 61  arget and.tclLoa
366d0 64 44 79 6c 64 2e 63 20 64 6c 20 74 79 70 65 2e  dDyld.c dl type.
366e0 20 28 73 61 6e 63 68 65 7a 29 0a 0a 32 30 30 30   (sanchez)..2000
366f0 2d 30 34 2d 32 33 20 28 62 75 67 20 66 69 78 29  -04-23 (bug fix)
36700 20 73 65 76 65 72 61 6c 20 4d 61 63 20 73 6f 63   several Mac soc
36710 6b 65 74 20 66 69 78 65 73 20 28 69 6e 67 68 61  ket fixes (ingha
36720 6d 29 0a 0a 32 30 30 30 2d 30 34 2d 32 34 20 28  m)..2000-04-24 (
36730 62 75 67 20 66 69 78 29 20 66 69 78 65 64 20 68  bug fix) fixed h
36740 61 6e 67 20 69 6e 20 74 68 72 65 61 64 65 64 20  ang in threaded 
36750 55 6e 69 78 20 63 61 73 65 20 77 68 65 6e 20 62  Unix case when b
36760 61 63 6b 67 72 6f 75 6e 64 65 64 0a 65 78 65 63  ackgrounded.exec
36770 20 70 72 6f 63 65 73 73 20 77 61 73 20 72 75 6e   process was run
36780 6e 69 6e 67 20 28 64 65 6a 6f 6e 67 29 0a 0a 2d  ning (dejong)..-
36790 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e 33 2e  -- Released 8.3.
367a0 31 2c 20 41 70 72 69 6c 20 32 36 2c 20 32 30 30  1, April 26, 200
367b0 30 20 2d 2d 2d 20 53 65 65 20 43 68 61 6e 67 65  0 --- See Change
367c0 4c 6f 67 20 66 6f 72 20 64 65 74 61 69 6c 73 20  Log for details 
367d0 2d 2d 2d 0a 0a 32 30 30 30 2d 30 34 2d 32 36 20  ---..2000-04-26 
367e0 28 64 6f 63 20 66 69 78 29 20 75 70 64 61 74 65  (doc fix) update
367f0 64 2f 61 64 64 65 64 20 64 6f 63 75 6d 65 6e 74  d/added document
36800 61 74 69 6f 6e 20 66 6f 72 20 6d 61 6e 79 20 41  ation for many A
36810 50 49 27 73 20 61 6e 64 0a 63 6f 6d 6d 61 6e 64  PI's and.command
36820 73 20 28 6d 65 6c 73 6b 69 29 0a 0a 32 30 30 30  s (melski)..2000
36830 2d 30 35 2d 30 32 20 28 66 65 61 74 75 72 65 20  -05-02 (feature 
36840 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 61 64 64  enhancement) add
36850 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 6a  ed support for j
36860 6f 69 6e 61 62 6c 65 20 74 68 72 65 61 64 73 3b  oinable threads;
36870 0a 65 78 74 65 6e 64 65 64 20 41 50 49 27 73 20  .extended API's 
36880 66 6f 72 20 63 68 61 6e 6e 65 6c 73 20 74 6f 20  for channels to 
36890 61 6c 6c 6f 77 20 63 68 61 6e 6e 65 6c 73 20 74  allow channels t
368a0 6f 20 6d 6f 76 65 20 62 65 74 77 65 65 6e 20 74  o move between t
368b0 68 72 65 61 64 73 0a 28 6b 75 70 72 69 65 73 29  hreads.(kupries)
368c0 0a 0a 32 30 30 30 2d 30 35 2d 30 32 20 28 66 65  ..2000-05-02 (fe
368d0 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e  ature enhancemen
368e0 74 29 20 63 68 61 6e 67 65 64 20 65 72 72 6f 72  t) changed error
368f0 20 72 65 74 75 72 6e 20 66 6f 72 20 70 72 6f 63   return for proc
36900 65 64 75 72 65 73 0a 77 69 74 68 20 69 6e 63 6f  edures.with inco
36910 72 72 65 63 74 20 61 72 67 73 20 74 6f 20 62 65  rrect args to be
36920 20 6c 69 6b 65 20 74 68 65 20 54 63 6c 5f 57 72   like the Tcl_Wr
36930 6f 6e 67 4e 75 6d 41 72 67 73 20 41 50 49 2c 20  ongNumArgs API, 
36940 77 69 74 68 20 61 20 22 77 72 6f 6e 67 0a 23 20  with a "wrong.# 
36950 61 72 67 73 3a 20 2e 2e 2e 22 20 6d 65 73 73 61  args: ..." messa
36960 67 65 20 70 72 69 6e 74 65 64 2c 20 77 69 74 68  ge printed, with
36970 20 61 6e 20 61 72 67 73 20 6c 69 73 74 20 28 68   an args list (h
36980 6f 62 62 73 29 0a 0a 32 30 30 30 2d 30 35 2d 30  obbs)..2000-05-0
36990 38 20 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e  8 (feature enhan
369a0 63 65 6d 65 6e 74 29 20 61 64 64 65 64 20 5b 61  cement) added [a
369b0 72 72 61 79 20 73 74 61 74 69 73 74 69 63 73 5d  rray statistics]
369c0 20 63 6f 6d 6d 61 6e 64 0a 0a 32 30 30 30 2d 30   command..2000-0
369d0 35 2d 30 38 20 28 70 65 72 66 6f 72 6d 61 6e 63  5-08 (performanc
369e0 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 72  e enhancement) r
369f0 65 77 72 6f 74 65 20 54 63 6c 5f 53 74 72 69 6e  ewrote Tcl_Strin
36a00 67 43 61 73 65 4d 61 74 63 68 0a 61 6c 67 6f 72  gCaseMatch.algor
36a10 69 74 68 6d 20 66 6f 72 20 62 65 74 74 65 72 20  ithm for better 
36a20 70 65 72 66 6f 72 6d 61 6e 63 65 3b 20 74 68 69  performance; thi
36a30 73 20 61 66 66 65 63 74 73 20 74 68 65 20 5b 73  s affects the [s
36a40 74 72 69 6e 67 20 6d 61 74 63 68 5d 0a 63 6f 6d  tring match].com
36a50 6d 61 6e 64 3b 20 61 64 64 65 64 20 22 65 71 22  mand; added "eq"
36a60 20 61 6e 64 20 22 6e 65 22 20 6f 70 65 72 61 6e   and "ne" operan
36a70 64 73 20 74 6f 20 65 78 70 72 2c 20 66 6f 72 20  ds to expr, for 
36a80 74 65 73 74 69 6e 67 0a 73 74 72 69 6e 67 20 65  testing.string e
36a90 71 75 61 6c 69 74 79 20 61 6e 64 20 69 6e 65 71  quality and ineq
36aa0 75 61 6c 69 74 79 20 28 68 6f 62 62 73 29 0a 0a  uality (hobbs)..
36ab0 32 30 30 30 2d 30 35 2d 30 39 20 28 66 65 61 74  2000-05-09 (feat
36ac0 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29  ure enhancement)
36ad0 20 65 78 74 65 6e 64 65 64 20 5b 6c 73 65 61 72   extended [lsear
36ae0 63 68 5d 20 74 6f 20 73 75 70 70 6f 72 74 20 73  ch] to support s
36af0 6f 72 74 65 64 0a 6c 69 73 74 20 73 65 61 72 63  orted.list searc
36b00 68 65 73 20 61 6e 64 20 74 79 70 65 64 20 6c 69  hes and typed li
36b10 73 74 20 73 65 61 72 63 68 65 73 20 28 6d 65 6c  st searches (mel
36b20 73 6b 69 29 0a 0a 32 30 30 30 2d 30 35 2d 31 30  ski)..2000-05-10
36b30 20 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63   (feature enhanc
36b40 65 6d 65 6e 74 29 20 61 64 64 65 64 20 5b 6e 61  ement) added [na
36b50 6d 65 73 70 61 63 65 20 65 78 69 73 74 73 5d 20  mespace exists] 
36b60 63 6f 6d 6d 61 6e 64 0a 28 64 61 72 6c 65 79 29  command.(darley)
36b70 0a 0a 32 30 30 30 2d 30 35 2d 31 38 20 28 62 75  ..2000-05-18 (bu
36b80 69 6c 64 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29  ild enhancement)
36b90 20 61 64 64 65 64 20 73 75 70 70 6f 72 74 20 66   added support f
36ba0 6f 72 20 6d 69 6e 67 77 20 63 6f 6d 70 69 6c 65  or mingw compile
36bb0 20 65 6e 76 20 61 6e 64 0a 63 72 6f 73 73 2d 63   env and.cross-c
36bc0 6f 6d 70 69 6c 69 6e 67 20 28 64 65 6a 6f 6e 67  ompiling (dejong
36bd0 29 0a 0a 32 30 30 30 2d 30 35 2d 31 38 20 28 62  )..2000-05-18 (b
36be0 75 67 20 66 69 78 29 20 63 6f 72 72 65 63 74 65  ug fix) correcte
36bf0 64 20 63 6c 6f 63 6b 20 67 72 61 6d 6d 61 72 20  d clock grammar 
36c00 74 6f 20 70 72 6f 70 65 72 6c 79 20 68 61 6e 64  to properly hand
36c10 6c 65 20 74 68 65 0a 22 61 67 6f 22 20 6b 65 79  le the."ago" key
36c20 77 6f 72 64 20 77 68 65 6e 20 69 74 20 66 6f 6c  word when it fol
36c30 6c 6f 77 73 20 6d 75 6c 74 69 70 6c 65 20 72 65  lows multiple re
36c40 6c 61 74 69 76 65 20 75 6e 69 74 20 73 70 65 63  lative unit spec
36c50 69 66 69 65 72 73 0a 28 6d 65 6c 73 6b 69 29 0a  ifiers.(melski).
36c60 0a 32 30 30 30 2d 30 35 2d 32 32 20 28 63 6f 6d  .2000-05-22 (com
36c70 70 69 6c 65 20 66 69 78 29 20 74 79 70 65 20 63  pile fix) type c
36c80 61 73 74 20 63 6c 65 61 6e 75 70 73 20 28 64 65  ast cleanups (de
36c90 6a 6f 6e 67 29 0a 0a 32 30 30 30 2d 30 35 2d 32  jong)..2000-05-2
36ca0 33 20 28 70 65 72 66 6f 72 6d 61 6e 63 65 20 65  3 (performance e
36cb0 6e 68 61 6e 63 65 6d 65 6e 74 29 20 61 64 64 65  nhancement) adde
36cc0 64 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 64 0a  d byte-compiled.
36cd0 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f  implementation o
36ce0 66 20 5b 72 65 74 75 72 6e 5d 20 63 6f 6d 6d 61  f [return] comma
36cf0 6e 64 20 61 6e 64 20 5b 73 74 72 69 6e 67 5d 20  nd and [string] 
36d00 63 6f 6d 6d 61 6e 64 20 28 6d 65 6c 73 6b 69 29  command (melski)
36d10 0a 0a 32 30 30 30 2d 30 35 2d 32 36 20 28 70 65  ..2000-05-26 (pe
36d20 72 66 6f 72 6d 61 6e 63 65 20 65 6e 68 61 6e 63  rformance enhanc
36d30 65 6d 65 6e 74 29 20 65 78 74 65 6e 64 65 64 20  ement) extended 
36d40 62 79 74 65 2d 63 6f 6d 70 69 6c 65 64 20 5b 73  byte-compiled [s
36d50 74 72 69 6e 67 5d 0a 63 6f 6d 6d 61 6e 64 20 77  tring].command w
36d60 69 74 68 20 73 75 70 70 6f 72 74 20 66 6f 72 20  ith support for 
36d70 5b 73 74 72 69 6e 67 20 63 6f 6d 70 61 72 65 2f  [string compare/
36d80 69 6e 64 65 78 2f 6d 61 74 63 68 5d 20 28 68 6f  index/match] (ho
36d90 62 62 73 29 0a 0a 32 30 30 30 2d 30 35 2d 32 37  bbs)..2000-05-27
36da0 20 28 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63   (feature enhanc
36db0 65 6d 65 6e 74 29 20 61 64 64 65 64 20 61 62 69  ement) added abi
36dc0 6c 69 74 79 20 74 6f 20 73 65 74 20 5b 69 6e 66  lity to set [inf
36dd0 6f 20 73 63 72 69 70 74 5d 0a 72 65 74 75 72 6e  o script].return
36de0 20 76 61 6c 75 65 20 28 5b 69 6e 66 6f 20 73 63   value ([info sc
36df0 72 69 70 74 20 3f 6e 65 77 46 69 6c 65 4e 61 6d  ript ?newFileNam
36e00 65 3f 5d 29 20 28 77 65 6c 63 68 29 0a 0a 32 30  e?]) (welch)..20
36e10 30 30 2d 30 35 2d 33 31 20 28 66 65 61 74 75 72  00-05-31 (featur
36e20 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 61  e enhancement) a
36e30 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72  dded support for
36e40 20 72 65 67 65 78 70 20 61 6e 64 20 65 78 61 63   regexp and exac
36e50 74 0a 70 61 74 74 65 72 6e 20 6d 61 74 63 68 69  t.pattern matchi
36e60 6e 67 20 66 6f 72 20 5b 61 72 72 61 79 20 6e 61  ng for [array na
36e70 6d 65 73 5d 20 28 67 61 7a 65 74 74 61 29 0a 0a  mes] (gazetta)..
36e80 32 30 30 30 2d 30 35 2d 33 31 20 28 66 65 61 74  2000-05-31 (feat
36e90 75 72 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29  ure enhancement)
36ea0 20 61 64 64 65 64 20 2d 6e 6f 63 6f 6d 70 6c 61   added -nocompla
36eb0 69 6e 20 61 6e 64 20 2d 2d 20 66 6c 61 67 73 20  in and -- flags 
36ec0 74 6f 0a 5b 75 6e 73 65 74 5d 20 74 6f 20 61 6c  to.[unset] to al
36ed0 6c 6f 77 20 66 6f 72 20 73 69 6c 65 6e 74 20 75  low for silent u
36ee0 6e 73 65 74 20 6f 70 65 72 61 74 69 6f 6e 20 28  nset operation (
36ef0 68 6f 62 62 73 29 0a 0a 2d 2d 2d 20 52 65 6c 65  hobbs)..--- Rele
36f00 61 73 65 64 20 38 2e 34 61 31 2c 20 4a 75 6e 65  ased 8.4a1, June
36f10 20 36 2c 20 32 30 30 30 20 2d 2d 2d 20 53 65 65   6, 2000 --- See
36f20 20 43 68 61 6e 67 65 4c 6f 67 20 66 6f 72 20 64   ChangeLog for d
36f30 65 74 61 69 6c 73 20 2d 2d 2d 0a 0a 32 30 30 30  etails ---..2000
36f40 2d 30 35 2d 32 39 20 28 62 75 67 20 66 69 78 29  -05-29 (bug fix)
36f50 20 63 6f 72 72 65 63 74 65 64 20 72 65 73 6f 75   corrected resou
36f60 72 63 65 20 63 6c 65 61 6e 75 70 20 69 6e 20 68  rce cleanup in h
36f70 74 74 70 20 65 72 72 6f 72 20 63 61 73 65 73 2e  ttp error cases.
36f80 0a 49 6d 70 72 6f 76 65 64 20 68 61 6e 64 6c 69  .Improved handli
36f90 6e 67 20 6f 66 20 65 72 72 6f 72 20 63 61 73 65  ng of error case
36fa0 73 20 69 6e 20 68 74 74 70 2e 20 28 74 61 6d 68  s in http. (tamh
36fb0 61 6e 6b 61 72 29 0a 0a 32 30 30 30 2d 30 37 20  ankar)..2000-07 
36fc0 28 66 65 61 74 75 72 65 20 72 65 77 72 69 74 65  (feature rewrite
36fd0 29 20 63 6f 6d 70 6c 65 74 65 20 72 65 77 72 69  ) complete rewri
36fe0 74 65 20 6f 66 20 74 68 65 20 54 63 6c 20 49 4f  te of the Tcl IO
36ff0 20 63 68 61 6e 6e 65 6c 20 73 75 62 73 79 73 74   channel subsyst
37000 65 6d 0a 74 6f 20 63 6f 72 72 65 63 74 20 70 72  em.to correct pr
37010 6f 62 6c 65 6d 73 20 28 68 61 6e 67 73 2c 20 63  oblems (hangs, c
37020 6f 72 65 20 64 75 6d 70 73 29 20 77 69 74 68 20  ore dumps) with 
37030 74 68 65 20 69 6e 69 74 69 61 6c 20 73 74 61 63  the initial stac
37040 6b 65 64 20 63 68 61 6e 6e 65 6c 0a 69 6d 70 6c  ked channel.impl
37050 65 6d 65 6e 74 61 74 69 6f 6e 2e 20 20 54 68 65  ementation.  The
37060 20 6e 65 77 20 73 79 73 74 65 6d 20 68 61 73 20   new system has 
37070 6d 61 6e 79 20 6d 6f 72 65 20 74 65 73 74 73 20  many more tests 
37080 66 6f 72 20 72 6f 62 75 73 74 6e 65 73 73 20 61  for robustness a
37090 6e 64 0a 73 63 61 6c 61 62 69 6c 69 74 79 2e 20  nd.scalability. 
370a0 20 54 68 65 72 65 20 61 72 65 20 6e 65 77 20 43   There are new C
370b0 20 41 50 49 73 20 28 73 65 65 20 54 63 6c 5f 43   APIs (see Tcl_C
370c0 72 65 61 74 65 43 68 61 6e 6e 65 6c 29 2c 20 62  reateChannel), b
370d0 75 74 20 6f 6e 6c 79 0a 73 74 61 63 6b 65 64 20  ut only.stacked 
370e0 63 68 61 6e 6e 65 6c 20 64 72 69 76 65 72 73 20  channel drivers 
370f0 61 72 65 20 61 66 66 65 63 74 65 64 20 28 69 65  are affected (ie
37100 3a 20 54 4c 53 2c 20 54 72 66 2c 20 69 6f 67 74  : TLS, Trf, iogt
37110 29 2e 20 20 54 68 65 20 69 6f 67 74 0a 65 78 74  ).  The iogt.ext
37120 65 6e 73 69 6f 6e 20 68 61 73 20 62 65 65 6e 20  ension has been 
37130 61 64 64 65 64 20 74 6f 20 74 68 65 20 63 6f 72  added to the cor
37140 65 20 74 65 73 74 20 63 6f 64 65 20 74 6f 20 74  e test code to t
37150 65 73 74 20 74 68 65 20 73 79 73 74 65 6d 2e 0a  est the system..
37160 28 68 6f 62 62 73 2c 20 6b 75 70 72 69 65 73 29  (hobbs, kupries)
37170 0a 09 2a 2a 2a 2a 20 50 4f 54 45 4e 54 49 41 4c  ..**** POTENTIAL
37180 20 49 4e 43 4f 4d 50 41 54 41 42 49 4c 49 54 59   INCOMPATABILITY
37190 20 2a 2a 2a 2a 0a 0a 32 30 30 30 2d 30 37 20 28   ****..2000-07 (
371a0 62 75 69 6c 64 20 69 6d 70 72 6f 76 65 6d 65 6e  build improvemen
371b0 74 73 29 20 63 6c 65 61 6e 75 70 20 6f 66 20 74  ts) cleanup of t
371c0 68 65 20 6d 61 6b 65 66 69 6c 65 73 20 61 6e 64  he makefiles and
371d0 20 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70   configure scrip
371e0 74 73 0a 74 6f 20 63 6f 72 72 65 63 74 20 73 75  ts.to correct su
371f0 70 70 6f 72 74 20 66 6f 72 20 62 75 69 6c 64 69  pport for buildi
37200 6e 67 20 75 6e 64 65 72 20 67 63 63 20 66 6f 72  ng under gcc for
37210 20 57 69 6e 64 6f 77 73 2e 20 28 64 65 6a 6f 6e   Windows. (dejon
37220 67 29 0a 0a 32 30 30 30 2d 30 38 2d 30 37 20 28  g)..2000-08-07 (
37230 62 75 67 20 66 69 78 29 20 63 6f 72 72 65 63 74  bug fix) correct
37240 65 64 20 73 69 7a 65 6f 66 20 65 72 72 6f 72 20  ed sizeof error 
37250 69 6e 20 54 63 6c 5f 47 65 74 49 6e 64 65 78 46  in Tcl_GetIndexF
37260 72 6f 6d 4f 62 6a 53 74 72 75 63 74 2e 0a 28 70  romObjStruct..(p
37270 65 72 6b 69 6e 73 29 0a 0a 32 30 30 30 2d 30 38  erkins)..2000-08
37280 2d 30 37 20 28 62 75 67 20 66 69 78 29 20 63 6f  -07 (bug fix) co
37290 72 72 65 63 74 20 6f 66 66 2d 62 79 2d 6f 6e 65  rrect off-by-one
372a0 20 65 72 72 6f 72 20 69 6e 20 48 69 73 74 49 6e   error in HistIn
372b0 64 65 78 2c 20 77 68 69 63 68 20 77 61 73 0a 63  dex, which was.c
372c0 61 75 73 69 6e 67 20 5b 68 69 73 74 6f 72 79 20  ausing [history 
372d0 72 65 64 6f 5d 20 74 6f 20 73 74 61 72 74 20 69  redo] to start i
372e0 74 73 20 73 65 61 72 63 68 20 61 74 20 74 68 65  ts search at the
372f0 20 77 72 6f 6e 67 20 65 76 65 6e 74 20 69 6e 64   wrong event ind
37300 65 78 2e 20 28 6d 65 6c 73 6b 69 29 0a 0a 32 30  ex. (melski)..20
37310 30 30 2d 30 38 2d 30 37 20 28 62 75 67 20 66 69  00-08-07 (bug fi
37320 78 29 20 63 6f 72 72 65 63 74 65 64 20 73 65 74  x) corrected set
37330 6c 6f 63 61 6c 65 20 63 61 6c 6c 73 20 66 6f 72  locale calls for
37340 20 58 49 4d 20 73 75 70 70 6f 72 74 20 61 6e 64   XIM support and
37350 20 6c 6f 63 61 6c 65 0a 69 73 73 75 65 73 20 69   locale.issues i
37360 6e 20 73 74 61 72 74 75 70 2e 20 28 74 61 6b 61  n startup. (taka
37370 68 61 73 68 69 29 0a 0a 32 30 30 30 2d 30 38 2d  hashi)..2000-08-
37380 30 37 20 28 62 75 67 20 66 69 78 29 20 63 6f 72  07 (bug fix) cor
37390 72 65 63 74 20 63 6f 64 65 20 74 6f 20 68 61 6e  rect code to han
373a0 64 6c 65 20 6c 6f 63 61 6c 65 20 73 70 65 63 69  dle locale speci
373b0 66 69 63 20 72 65 74 75 72 6e 20 76 61 6c 75 65  fic return value
373c0 73 0a 66 72 6f 6d 20 73 74 72 66 74 69 6d 65 2c  s.from strftime,
373d0 20 69 66 20 61 6e 79 2e 20 28 77 61 67 6e 65 72   if any. (wagner
373e0 29 0a 0a 32 30 30 30 2d 30 38 2d 30 37 20 28 62  )..2000-08-07 (b
373f0 75 67 20 66 69 78 29 20 74 77 65 61 6b 65 64 20  ug fix) tweaked 
37400 67 72 61 6d 6d 61 72 20 74 6f 20 70 72 6f 70 65  grammar to prope
37410 72 6c 79 20 68 61 6e 64 6c 65 20 74 68 65 20 22  rly handle the "
37420 61 67 6f 22 20 6b 65 79 77 6f 72 64 0a 77 68 65  ago" keyword.whe
37430 6e 20 69 74 20 66 6f 6c 6c 6f 77 73 20 6d 75 6c  n it follows mul
37440 74 69 70 6c 65 20 72 65 6c 61 74 69 76 65 20 75  tiple relative u
37450 6e 69 74 20 73 70 65 63 69 66 69 65 72 73 2c 20  nit specifiers, 
37460 61 73 20 69 6e 0a 22 32 20 64 61 79 73 20 32 20  as in."2 days 2 
37470 68 6f 75 72 73 20 61 67 6f 22 2e 20 28 6d 65 6c  hours ago". (mel
37480 73 6b 69 29 0a 0a 32 30 30 30 2d 30 38 2d 30 37  ski)..2000-08-07
37490 20 28 64 6f 63 20 66 69 78 65 73 29 20 6e 75 6d   (doc fixes) num
374a0 65 72 6f 75 73 20 64 6f 63 20 66 69 78 65 73 20  erous doc fixes 
374b0 74 6f 20 63 6f 72 72 65 63 74 20 53 45 45 20 41  to correct SEE A
374c0 4c 53 4f 20 61 6e 64 20 4e 41 4d 45 0a 73 65 63  LSO and NAME.sec
374d0 74 69 6f 6e 73 2e 20 28 65 6e 67 6c 69 73 68 29  tions. (english)
374e0 0a 0a 32 30 30 30 2d 30 38 2d 30 37 20 28 62 75  ..2000-08-07 (bu
374f0 67 20 66 69 78 29 20 6e 65 77 20 6d 61 6e 20 70  g fix) new man p
37500 61 67 65 73 20 6d 65 6d 6f 72 79 2e 6e 2c 20 54  ages memory.n, T
37510 43 4c 5f 4d 45 4d 5f 44 45 42 55 47 2e 33 2c 20  CL_MEM_DEBUG.3, 
37520 49 6e 69 74 2e 33 20 61 6e 64 0a 44 75 6d 70 41  Init.3 and.DumpA
37530 63 74 69 76 65 4d 65 6d 6f 72 79 2e 33 2e 20 28  ctiveMemory.3. (
37540 6d 65 6c 73 6b 69 29 0a 0a 2d 2d 2d 20 52 65 6c  melski)..--- Rel
37550 65 61 73 65 64 20 38 2e 33 2e 32 2c 20 41 75 67  eased 8.3.2, Aug
37560 75 73 74 20 39 2c 20 32 30 30 30 20 2d 2d 2d 20  ust 9, 2000 --- 
37570 53 65 65 20 43 68 61 6e 67 65 4c 6f 67 20 66 6f  See ChangeLog fo
37580 72 20 64 65 74 61 69 6c 73 20 2d 2d 2d 0a 0a 32  r details ---..2
37590 30 30 30 2d 30 36 20 74 68 72 75 20 32 30 30 30  000-06 thru 2000
375a0 2d 31 31 20 28 62 75 69 6c 64 20 69 6d 70 72 6f  -11 (build impro
375b0 76 65 6d 65 6e 74 73 29 20 41 64 64 65 64 20 73  vements) Added s
375c0 75 70 70 6f 72 74 20 66 6f 72 20 6d 69 6e 67 77  upport for mingw
375d0 20 28 67 63 63 20 6f 6e 0a 57 69 6e 64 6f 77 73   (gcc on.Windows
375e0 29 2c 20 41 49 58 2d 35 20 61 6e 64 20 57 69 6e  ), AIX-5 and Win
375f0 36 34 20 62 75 69 6c 64 73 20 28 64 65 6a 6f 6e  64 builds (dejon
37600 67 2c 20 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d  g, hobbs)..2000-
37610 30 36 2d 32 33 20 28 66 65 61 74 75 72 65 20 65  06-23 (feature e
37620 6e 68 61 6e 63 65 6d 65 6e 74 29 20 61 62 69 6c  nhancement) abil
37630 69 74 79 20 74 6f 20 75 73 65 20 54 63 6c 5f 4f  ity to use Tcl_O
37640 62 6a 20 2a 73 20 61 73 20 68 61 73 68 20 6b 65  bj *s as hash ke
37650 79 73 20 28 64 75 66 66 69 6e 29 0a 0a 32 30 30  ys (duffin)..200
37660 30 2d 30 36 2d 32 39 20 28 6e 65 77 20 66 65 61  0-06-29 (new fea
37670 74 75 72 65 73 29 20 61 64 64 65 64 20 5b 6d 63  tures) added [mc
37680 6d 61 78 5d 20 61 6e 64 20 5b 6d 63 6d 73 65 74  max] and [mcmset
37690 5d 20 61 6e 64 20 65 78 74 65 6e 64 65 64 20 5b  ] and extended [
376a0 75 6e 6b 6e 6f 77 6e 5d 20 69 6e 0a 6d 73 67 63  unknown] in.msgc
376b0 61 74 20 70 61 63 6b 61 67 65 20 28 64 75 70 65  at package (dupe
376c0 72 76 61 6c 2c 20 6b 72 6f 6e 65 2c 20 6e 65 6c  rval, krone, nel
376d0 73 6f 6e 29 0a 3d 3e 20 6d 73 67 63 61 74 20 31  son).=> msgcat 1
376e0 2e 31 0a 0a 32 30 30 30 2d 30 38 20 74 68 72 75  .1..2000-08 thru
376f0 20 32 30 30 30 2d 30 39 20 61 64 64 65 64 20 74   2000-09 added t
37700 63 6c 50 6c 61 74 44 65 63 6c 73 2e 68 20 74 6f  clPlatDecls.h to
37710 20 64 65 66 61 75 6c 74 20 69 6e 73 74 61 6c 6c   default install
37720 20 28 6d 65 6c 73 6b 69 2c 20 68 6f 62 62 73 29   (melski, hobbs)
37730 0a 0a 32 30 30 30 2d 30 38 2d 32 34 20 28 6e 65  ..2000-08-24 (ne
37740 77 20 66 65 61 74 75 72 65 29 20 45 6e 68 61 6e  w feature) Enhan
37750 63 65 64 20 74 72 61 63 65 20 73 79 6e 74 61 78  ced trace syntax
37760 20 74 6f 20 61 64 64 3a 0a 09 74 72 61 63 65 20   to add:..trace 
37770 7b 61 64 64 7c 72 65 6d 6f 76 65 7c 6c 69 73 74  {add|remove|list
37780 7d 20 7b 76 61 72 69 61 62 6c 65 7c 63 6f 6d 6d  } {variable|comm
37790 61 6e 64 7d 20 6e 61 6d 65 20 6f 70 73 20 63 6f  and} name ops co
377a0 6d 6d 61 6e 64 0a 28 64 61 72 6c 65 79 2c 20 6d  mmand.(darley, m
377b0 65 6c 73 6b 69 29 0a 0a 32 30 30 30 2d 30 39 2d  elski)..2000-09-
377c0 30 36 20 28 63 72 6f 73 73 2d 70 6c 61 74 66 6f  06 (cross-platfo
377d0 72 6d 20 66 65 61 74 75 72 65 29 20 53 65 74 20  rm feature) Set 
377e0 5e 5a 20 28 5c 33 32 29 20 61 73 20 64 65 66 61  ^Z (\32) as defa
377f0 75 6c 74 20 45 4f 46 20 63 68 61 72 2e 20 28 68  ult EOF char. (h
37800 6f 62 62 73 29 0a 0a 32 30 30 30 2d 30 39 2d 30  obbs)..2000-09-0
37810 37 20 70 61 72 74 69 61 6c 20 66 69 78 20 66 6f  7 partial fix fo
37820 72 20 62 75 67 20 32 34 36 30 20 74 6f 20 70 72  r bug 2460 to pr
37830 65 76 65 6e 74 20 65 78 65 63 20 6d 65 6d 20 6c  event exec mem l
37840 65 61 6b 20 6f 6e 20 57 69 6e 64 6f 77 73 20 66  eak on Windows f
37850 6f 72 20 74 68 65 0a 63 6f 6d 6d 6f 6e 20 63 61  or the.common ca
37860 73 65 20 28 67 72 61 76 65 72 65 61 75 78 29 0a  se (gravereaux).
37870 0a 32 30 30 30 2d 30 39 2d 31 34 20 49 6d 70 72  .2000-09-14 Impr
37880 6f 76 65 64 20 73 74 72 69 6e 67 20 61 6c 6c 6f  oved string allo
37890 63 61 74 69 6f 6e 20 67 72 6f 77 74 68 20 66 6f  cation growth fo
378a0 72 20 6c 61 72 67 65 20 73 74 72 69 6e 67 73 20  r large strings 
378b0 28 68 69 6e 74 65 72 6d 61 79 65 72 2c 0a 6d 65  (hintermayer,.me
378c0 6c 73 6b 69 29 0a 0a 32 30 30 30 2d 30 39 2d 31  lski)..2000-09-1
378d0 34 20 4e 65 77 20 6e 6f 6e 2d 70 61 6e 69 63 27  4 New non-panic'
378e0 69 6e 67 20 6d 65 6d 20 61 6c 6c 6f 63 61 74 69  ing mem allocati
378f0 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 20 54 63 6c  on functions Tcl
37900 5f 41 74 74 65 6d 70 74 41 6c 6c 6f 63 2c 0a 54  _AttemptAlloc,.T
37910 63 6c 5f 41 74 74 65 6d 70 74 52 65 61 6c 6c 6f  cl_AttemptReallo
37920 63 2c 20 54 63 6c 5f 41 74 74 65 6d 70 74 53 65  c, Tcl_AttemptSe
37930 74 4f 62 6a 4c 65 6e 67 74 68 20 28 6d 65 6c 73  tObjLength (mels
37940 6b 69 29 0a 0a 32 30 30 30 2d 30 39 2d 32 30 20  ki)..2000-09-20 
37950 28 6e 65 77 20 66 65 61 74 75 72 65 73 29 20 63  (new features) c
37960 6f 6d 70 6c 65 74 65 6c 79 20 6e 65 77 2c 20 65  ompletely new, e
37970 6e 68 61 6e 63 65 64 20 73 79 6e 74 61 78 20 69  nhanced syntax i
37980 6e 20 74 63 6c 74 65 73 74 20 70 61 63 6b 61 67  n tcltest packag
37990 65 2e 0a 42 61 63 6b 77 61 72 64 73 20 63 6f 6d  e..Backwards com
379a0 70 61 74 61 62 6c 65 20 77 69 74 68 20 74 63 6c  patable with tcl
379b0 74 65 73 74 20 76 31 2e 20 28 68 6f 6d 29 0a 3d  test v1. (hom).=
379c0 3e 20 74 63 6c 74 65 73 74 20 32 2e 30 0a 0a 32  > tcltest 2.0..2
379d0 30 30 30 2d 30 39 2d 32 37 20 28 62 75 67 20 66  000-09-27 (bug f
379e0 69 78 29 20 66 69 78 65 64 20 61 20 62 75 67 20  ix) fixed a bug 
379f0 69 6e 74 72 6f 64 75 63 65 64 20 62 79 20 61 20  introduced by a 
37a00 70 61 72 74 69 61 6c 20 66 69 78 20 69 6e 20 38  partial fix in 8
37a10 2e 33 2e 32 20 74 68 61 74 0a 64 69 64 6e 27 74  .3.2 that.didn't
37a20 20 73 65 74 20 6e 6f 6e 42 6c 6f 63 6b 69 6e 67   set nonBlocking
37a30 20 63 6f 72 72 65 63 74 6c 79 20 77 68 65 6e 20   correctly when 
37a40 72 65 73 65 74 74 69 6e 67 20 74 68 65 20 66 6c  resetting the fl
37a50 61 67 73 20 66 6f 72 20 74 68 65 20 77 72 69 74  ags for the writ
37a60 65 0a 73 69 64 65 20 28 6d 65 6d 20 6c 65 61 6b  e.side (mem leak
37a70 29 20 43 6f 72 72 65 63 74 20 6d 65 6d 20 6c 65  ) Correct mem le
37a80 61 6b 20 69 6e 20 63 68 61 6e 6e 65 6c 73 20 77  ak in channels w
37a90 68 65 6e 20 73 74 61 74 65 50 74 72 20 77 61 73  hen statePtr was
37aa0 20 72 65 6c 65 61 73 65 64 0a 28 68 6f 62 62 73   released.(hobbs
37ab0 29 0a 0a 32 30 30 30 2d 30 39 2d 32 39 20 28 62  )..2000-09-29 (b
37ac0 75 67 20 66 69 78 29 20 63 6f 72 72 65 63 74 65  ug fix) correcte
37ad0 64 20 72 65 70 6f 72 74 69 6e 67 20 6f 66 20 73  d reporting of s
37ae0 70 61 63 65 20 70 61 72 69 74 79 20 6f 6e 20 57  pace parity on W
37af0 69 6e 64 6f 77 73 20 28 45 61 73 6f 6e 29 0a 0a  indows (Eason)..
37b00 32 30 30 30 2d 31 30 2d 30 36 20 28 62 75 67 20  2000-10-06 (bug 
37b10 66 69 78 29 20 63 6f 72 72 65 63 74 65 64 20 5b  fix) corrected [
37b20 66 69 6c 65 20 63 68 61 6e 6e 65 6c 73 5d 20 74  file channels] t
37b30 6f 20 6f 6e 6c 79 20 72 65 74 75 72 6e 20 63 68  o only return ch
37b40 61 6e 6e 65 6c 73 20 69 6e 0a 74 68 65 20 63 75  annels in.the cu
37b50 72 72 65 6e 74 20 69 6e 74 65 72 70 72 65 74 65  rrent interprete
37b60 72 20 28 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d  r (hobbs)..2000-
37b70 31 30 2d 32 30 20 28 70 65 72 66 6f 72 6d 61 6e  10-20 (performan
37b80 63 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20  ce enhancement) 
37b90 63 61 6c 6c 20 73 74 61 74 20 6f 6e 6c 79 20 77  call stat only w
37ba0 68 65 6e 20 6e 65 63 65 73 73 61 72 79 20 69 6e  hen necessary in
37bb0 20 27 67 6c 6f 62 27 20 74 6f 0a 73 70 65 65 64   'glob' to.speed
37bc0 20 75 70 20 63 6f 6d 6d 61 6e 64 20 73 69 67 6e   up command sign
37bd0 69 66 69 63 61 6e 74 6c 79 20 69 6e 20 62 61 73  ificantly in bas
37be0 65 20 63 61 73 65 73 20 28 68 6f 62 62 73 29 0a  e cases (hobbs).
37bf0 0a 32 30 30 30 2d 31 30 2d 32 37 20 46 69 78 65  .2000-10-27 Fixe
37c00 64 20 6d 65 6d 20 6c 65 61 6b 20 69 6e 20 54 63  d mem leak in Tc
37c10 6c 5f 43 72 65 61 74 65 43 68 61 6e 6e 65 6c 2e  l_CreateChannel.
37c20 20 52 65 2d 70 75 72 69 66 69 65 64 20 63 6f 72   Re-purified cor
37c30 65 20 76 69 61 20 74 65 73 74 0a 73 75 69 74 65  e via test.suite
37c40 73 2e 20 20 28 68 6f 62 62 73 29 0a 0a 32 30 30  s.  (hobbs)..200
37c50 30 2d 31 30 2d 33 30 20 28 6e 65 77 20 66 65 61  0-10-30 (new fea
37c60 74 75 72 65 29 20 61 64 64 20 22 6a 61 5f 4a 50  ture) add "ja_JP
37c70 2e 65 75 63 4a 50 22 20 6d 61 70 20 74 6f 20 22  .eucJP" map to "
37c80 65 75 63 2d 6a 70 22 20 65 6e 63 6f 64 69 6e 67  euc-jp" encoding
37c90 20 28 74 61 6b 61 68 61 73 68 69 29 0a 0a 32 30   (takahashi)..20
37ca0 30 30 2d 31 31 2d 30 31 20 28 6d 65 6d 20 6c 65  00-11-01 (mem le
37cb0 61 6b 29 20 43 6f 72 72 65 63 74 65 64 20 65 78  ak) Corrected ex
37cc0 63 65 73 73 69 76 65 20 6d 65 6d 20 75 73 65 20  cessive mem use 
37cd0 6f 66 20 69 6e 66 6f 20 65 78 69 73 74 73 20 6f  of info exists o
37ce0 6e 20 61 0a 6e 6f 6e 2d 65 78 69 73 74 65 6e 74  n a.non-existent
37cf0 20 61 72 72 61 79 20 65 6c 65 6d 65 6e 74 20 28   array element (
37d00 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d 31 31 2d  hobbs)..2000-11-
37d10 30 32 20 28 62 75 67 20 66 69 78 29 20 43 6f 72  02 (bug fix) Cor
37d20 72 65 63 74 65 64 20 73 68 61 72 69 6e 67 20 6f  rected sharing o
37d30 66 20 74 63 6c 4c 69 62 72 61 72 79 50 61 74 68  f tclLibraryPath
37d40 20 69 6e 20 74 68 72 65 61 64 65 64 0a 65 6e 76   in threaded.env
37d50 69 72 6f 6e 6d 65 6e 74 20 28 67 72 61 76 65 72  ironment (graver
37d60 65 61 75 78 29 0a 0a 32 30 30 30 2d 31 31 2d 30  eaux)..2000-11-0
37d70 33 20 28 6e 65 77 20 66 65 61 74 75 72 65 29 20  3 (new feature) 
37d80 54 63 6c 5f 53 65 74 4d 61 69 6e 4c 6f 6f 70 20  Tcl_SetMainLoop 
37d90 65 6e 61 62 6c 65 73 20 64 65 66 69 6e 69 6e 67  enables defining
37da0 20 61 6e 20 65 76 65 6e 74 20 6c 6f 6f 70 20 66   an event loop f
37db0 6f 72 0a 74 63 6c 73 68 2e 20 20 54 68 69 73 20  or.tclsh.  This 
37dc0 65 6e 61 62 6c 65 73 20 54 6b 20 61 73 20 61 20  enables Tk as a 
37dd0 74 72 75 6c 79 20 6c 6f 61 64 61 62 6c 65 20 70  truly loadable p
37de0 61 63 6b 61 67 65 2e 20 28 68 6f 62 62 73 29 0a  ackage. (hobbs).
37df0 0a 2d 2d 2d 20 52 65 6c 65 61 73 65 64 20 38 2e  .--- Released 8.
37e00 34 61 32 2c 20 4e 6f 76 65 6d 62 65 72 20 33 2c  4a2, November 3,
37e10 20 32 30 30 30 20 2d 2d 2d 20 53 65 65 20 43 68   2000 --- See Ch
37e20 61 6e 67 65 4c 6f 67 20 66 6f 72 20 64 65 74 61  angeLog for deta
37e30 69 6c 73 20 2d 2d 2d 0a 0a 32 30 30 30 2d 30 39  ils ---..2000-09
37e40 2d 32 37 20 28 62 75 67 20 66 69 78 29 20 66 69  -27 (bug fix) fi
37e50 78 65 64 20 61 20 62 75 67 20 69 6e 74 72 6f 64  xed a bug introd
37e60 75 63 65 64 20 62 79 20 61 20 70 61 72 74 69 61  uced by a partia
37e70 6c 20 66 69 78 20 69 6e 20 38 2e 33 2e 32 20 74  l fix in 8.3.2 t
37e80 68 61 74 0a 64 69 64 6e 27 74 20 73 65 74 20 6e  hat.didn't set n
37e90 6f 6e 42 6c 6f 63 6b 69 6e 67 20 63 6f 72 72 65  onBlocking corre
37ea0 63 74 6c 79 20 77 68 65 6e 20 72 65 73 65 74 74  ctly when resett
37eb0 69 6e 67 20 74 68 65 20 66 6c 61 67 73 20 66 6f  ing the flags fo
37ec0 72 20 74 68 65 20 77 72 69 74 65 0a 73 69 64 65  r the write.side
37ed0 20 28 6d 65 6d 20 6c 65 61 6b 29 20 43 6f 72 72   (mem leak) Corr
37ee0 65 63 74 20 6d 65 6d 20 6c 65 61 6b 20 69 6e 20  ect mem leak in 
37ef0 63 68 61 6e 6e 65 6c 73 20 77 68 65 6e 20 73 74  channels when st
37f00 61 74 65 50 74 72 20 77 61 73 20 72 65 6c 65 61  atePtr was relea
37f10 73 65 64 0a 28 68 6f 62 62 73 29 0a 0a 32 30 30  sed.(hobbs)..200
37f20 30 2d 30 39 2d 32 39 20 28 62 75 67 20 66 69 78  0-09-29 (bug fix
37f30 29 20 63 6f 72 72 65 63 74 65 64 20 72 65 70 6f  ) corrected repo
37f40 72 74 69 6e 67 20 6f 66 20 73 70 61 63 65 20 70  rting of space p
37f50 61 72 69 74 79 20 6f 6e 20 57 69 6e 64 6f 77 73  arity on Windows
37f60 20 28 45 61 73 6f 6e 29 0a 0a 32 30 30 30 2d 31   (Eason)..2000-1
37f70 30 2d 30 36 20 28 62 75 67 20 66 69 78 29 20 63  0-06 (bug fix) c
37f80 6f 72 72 65 63 74 65 64 20 5b 66 69 6c 65 20 63  orrected [file c
37f90 68 61 6e 6e 65 6c 73 5d 20 74 6f 20 6f 6e 6c 79  hannels] to only
37fa0 20 72 65 74 75 72 6e 20 63 68 61 6e 6e 65 6c 73   return channels
37fb0 20 69 6e 0a 74 68 65 20 63 75 72 72 65 6e 74 20   in.the current 
37fc0 69 6e 74 65 72 70 72 65 74 65 72 20 28 68 6f 62  interpreter (hob
37fd0 62 73 29 0a 0a 32 30 30 30 2d 31 30 2d 32 30 20  bs)..2000-10-20 
37fe0 28 70 65 72 66 6f 72 6d 61 6e 63 65 20 65 6e 68  (performance enh
37ff0 61 6e 63 65 6d 65 6e 74 29 20 63 61 6c 6c 20 73  ancement) call s
38000 74 61 74 20 6f 6e 6c 79 20 77 68 65 6e 20 6e 65  tat only when ne
38010 63 65 73 73 61 72 79 20 69 6e 20 27 67 6c 6f 62  cessary in 'glob
38020 27 20 74 6f 0a 73 70 65 65 64 20 75 70 20 63 6f  ' to.speed up co
38030 6d 6d 61 6e 64 20 73 69 67 6e 69 66 69 63 61 6e  mmand significan
38040 74 6c 79 20 69 6e 20 62 61 73 65 20 63 61 73 65  tly in base case
38050 73 20 28 68 6f 62 62 73 29 0a 0a 32 30 30 30 2d  s (hobbs)..2000-
38060 31 31 2d 30 31 20 28 6d 65 6d 20 6c 65 61 6b 29  11-01 (mem leak)
38070 20 43 6f 72 72 65 63 74 65 64 20 65 78 63 65 73   Corrected exces
38080 73 69 76 65 20 6d 65 6d 20 75 73 65 20 6f 66 20  sive mem use of 
38090 69 6e 66 6f 20 65 78 69 73 74 73 20 6f 6e 20 61  info exists on a
380a0 0a 6e 6f 6e 2d 65 78 69 73 74 65 6e 74 20 61 72  .non-existent ar
380b0 72 61 79 20 65 6c 65 6d 65 6e 74 20 28 68 6f 62  ray element (hob
380c0 62 73 29 0a 0a 32 30 30 30 2d 31 31 2d 30 32 20  bs)..2000-11-02 
380d0 28 62 75 67 20 66 69 78 29 20 43 6f 72 72 65 63  (bug fix) Correc
380e0 74 65 64 20 73 68 61 72 69 6e 67 20 6f 66 20 74  ted sharing of t
380f0 63 6c 4c 69 62 72 61 72 79 50 61 74 68 20 69 6e  clLibraryPath in
38100 20 74 68 72 65 61 64 65 64 0a 65 6e 76 69 72 6f   threaded.enviro
38110 6e 6d 65 6e 74 20 28 67 72 61 76 65 72 65 61 75  nment (gravereau
38120 78 29 0a 0a 32 30 30 30 2d 31 31 2d 32 33 20 28  x)..2000-11-23 (
38130 6d 65 6d 20 6c 65 61 6b 29 20 66 69 78 65 64 20  mem leak) fixed 
38140 70 6f 74 65 6e 74 69 61 6c 20 6d 65 6d 6f 72 79  potential memory
38150 20 6c 65 61 6b 20 69 6e 20 65 72 72 6f 72 20 63   leak in error c
38160 61 73 65 20 6f 66 20 6c 73 6f 72 74 0a 28 66 65  ase of lsort.(fe
38170 6c 6c 6f 77 73 29 0a 0a 32 30 30 30 2d 31 32 2d  llows)..2000-12-
38180 30 39 20 28 66 65 61 74 75 72 65 20 65 6e 68 61  09 (feature enha
38190 6e 63 65 6d 65 6e 74 29 20 63 68 61 6e 67 65 64  ncement) changed
381a0 20 25 6f 20 61 6e 64 20 25 78 20 74 6f 20 75 73   %o and %x to us
381b0 65 20 73 74 72 74 6f 75 6c 20 69 6e 73 74 65 61  e strtoul instea
381c0 64 0a 6f 66 20 73 74 72 74 6f 6c 20 74 6f 20 63  d.of strtol to c
381d0 6f 72 72 65 63 74 6c 79 20 70 72 65 73 65 72 76  orrectly preserv
381e0 65 20 73 63 61 6e 3c 3e 66 6f 72 6d 61 74 20 63  e scan<>format c
381f0 6f 6e 76 65 72 73 69 6f 6e 20 6f 66 20 6c 61 72  onversion of lar
38200 67 65 20 69 6e 74 65 67 65 72 73 0a 28 68 6f 62  ge integers.(hob
38210 62 73 29 0a 46 69 78 65 64 20 68 61 6e 64 6c 69  bs).Fixed handli
38220 6e 67 20 6f 66 20 7b 21 3c 62 6f 6f 6c 65 61 6e  ng of {!<boolean
38230 3e 7d 20 69 6e 20 65 78 70 72 65 73 73 69 6f 6e  >} in expression
38240 73 20 28 68 6f 62 62 73 2c 20 66 65 6c 6c 6f 77  s (hobbs, fellow
38250 73 29 0a 0a 32 30 30 30 2d 31 32 2d 31 34 20 28  s)..2000-12-14 (
38260 66 65 61 74 75 72 65 20 65 6e 68 61 6e 63 65 6d  feature enhancem
38270 65 6e 74 29 20 69 6d 70 72 6f 76 65 64 20 28 73  ent) improved (s
38280 29 72 61 6e 64 20 66 6f 72 20 36 34 2d 62 69 74  )rand for 64-bit
38290 20 70 6c 61 74 66 6f 72 6d 73 0a 28 70 6f 72 74   platforms.(port
382a0 65 72 29 0a 0a 32 30 30 31 2d 30 31 2d 30 34 20  er)..2001-01-04 
382b0 28 62 75 67 20 66 69 78 29 20 63 6f 72 72 65 63  (bug fix) correc
382c0 74 65 64 20 70 61 72 73 69 6e 67 20 6f 66 20 24  ted parsing of $
382d0 74 63 6c 5f 6c 69 62 50 61 74 68 20 61 74 20 73  tcl_libPath at s
382e0 74 61 72 74 75 70 20 6f 6e 0a 57 69 6e 64 6f 77  tartup on.Window
382f0 73 20 28 70 6f 72 74 65 72 29 0a 0a 32 30 30 31  s (porter)..2001
38300 2d 30 31 2d 33 30 20 28 62 75 67 20 66 69 78 29  -01-30 (bug fix)
38310 20 46 69 78 65 64 20 70 6f 73 73 69 62 6c 65 20   Fixed possible 
38320 68 61 6e 67 73 20 69 6e 20 66 63 6f 70 79 2e 20  hangs in fcopy. 
38330 28 70 6f 72 74 65 72 29 0a 0a 32 30 30 31 2d 30  (porter)..2001-0
38340 32 2d 31 35 20 28 70 65 72 66 6f 72 6d 61 6e 63  2-15 (performanc
38350 65 20 65 6e 68 61 6e 63 65 6d 65 6e 74 29 20 69  e enhancement) i
38360 6d 70 72 6f 76 65 64 20 65 66 66 69 63 69 65 6e  mproved efficien
38370 63 79 20 6f 66 20 5b 73 74 72 69 6e 67 20 73 70  cy of [string sp
38380 6c 69 74 5d 0a 28 66 65 6c 6c 6f 77 73 29 0a 0a  lit].(fellows)..
38390 32 30 30 31 2d 30 33 2d 31 33 20 28 62 75 67 20  2001-03-13 (bug 
383a0 66 69 78 29 20 43 6f 72 72 65 63 74 6c 79 20 70  fix) Correctly p
383b0 6f 73 73 69 62 6c 65 20 6d 65 6d 6f 72 79 20 63  ossible memory c
383c0 6f 72 72 75 70 74 69 6f 6e 20 69 6e 20 73 74 72  orruption in str
383d0 69 6e 67 20 6d 61 70 20 7b 7d 0a 24 73 74 72 20  ing map {}.$str 
383e0 28 66 65 6c 6c 6f 77 73 29 0a 0a 32 30 30 31 2d  (fellows)..2001-
383f0 30 33 2d 32 39 20 28 62 75 67 20 66 69 78 29 20  03-29 (bug fix) 
38400 70 72 65 76 65 6e 74 20 70 6f 74 65 6e 74 69 61  prevent potentia
38410 6c 20 72 61 63 65 20 63 6f 6e 64 69 74 69 6f 6e  l race condition
38420 20 61 6e 64 20 73 65 63 75 72 69 74 79 20 6c 65   and security le
38430 61 6b 20 69 6e 0a 74 6d 70 20 66 69 6c 65 6e 61  ak in.tmp filena
38440 6d 65 20 63 72 65 61 74 69 6f 6e 20 6f 6e 20 55  me