Menu

#1251 fail to do array search on env

obsolete: 8.2.2
open
5
2001-09-22
2000-10-26
Anonymous
No

OriginalBugID: 4109 Bug
Version: 8.2.2
SubmitDate: '2000-02-01'
LastModified: '2000-04-26'
Severity: SER
Status: Assigned
Submitter: techsupp
ChangedBy: hobbs
RelatedBugIDs: 1999 3661
OS: All
FixedDate: '2000-10-25'
ClosedDate: '2000-10-25'

Name: eric chang

Comments:
Some commands work on Tcl8.0

ReproducibleScript:
array startsearch env #will create ssearchid s-1-env
array nextelement env s-1-env

ObservedBehavior:
error message: couldn't find search "s-1-env"

DesiredBehavior:
suppose one array element

Verified on NT with 8.3b2.
-- 02/01/2000 hobbs

When the mechanism for maintaining the env() array changed in 8.1, this broke:

2/18/98 (hidden feature change) The way the env() array is shared among
interpreters changed. Updates to env used to trigger write traces in
other interpreters. This undocumented feature is no longer implemented.
Instead, variable tracing is used to keep the C-level environ array in sync
with the Tcl-level env array. This required adding TCL_TRACE_ARRAY support
to Tcl_TraceVar2 so that array names works properly. (BW)
*** POTENTIAL INCOMPATIBILITY ***

The problem is that the trace on the env array that is used to do this actually unsets the env array, then resets it from the environ array. When env() is unset, the searches get deleted.

- eric

-- 03/24/2000 ericm

Discussion

  • Donal K. Fellows

    • labels: 104254 --> 08. Environment Variables
     
  • Andreas Kupries

    Andreas Kupries - 2001-09-07
    • assigned_to: nobody --> das
     
  • Daniel A. Steffen

    • assigned_to: das --> hobbs
     
  • Daniel A. Steffen

    Logged In: YES
    user_id=90580