Ticket UUID: | 219226 | |||
Title: | fail to do array search on env | |||
Type: | Bug | Version: | obsolete: 8.2.2 | |
Submitter: | nobody | Created on: | 2000-10-26 05:03:50 | |
Subsystem: | 08. Environment Variables | Assigned To: | dkf | |
Priority: | 5 Medium | Severity: | Minor | |
Status: | Closed | Last Modified: | 2013-11-20 11:57:41 | |
Resolution: | Fixed | Closed By: | jan.nijtmans | |
Closed on: | 2013-11-20 11:57:41 | |||
Description: |
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 | |||
User Comments: |
jan.nijtmans added on 2013-11-20 11:57:41:
(text/x-fossil-wiki)
This bug-fix [afaff33553] introduced a regression (test-cases init-5.0, package-15.4 on win32), which is fixed in [bac3f9b139] and [f6c1c6b491]. dkf added on 2013-09-27 10:34:08: (text/html) Side benefit: links to array elements now work sanely. dkf added on 2013-09-27 10:33:33: (text/html) Packed dear old Crazy Aunt Beattie off to the nursing home in the sky.<p>New implementation lists the existing array contents, iterates over the environ elements adding/updating the env array as it goes and removing the elements from that list, then removes the elements from env that still remain in that list. More memory churn, but much more minimal changes. das added on 2001-09-22 12:55:31: Logged In: YES user_id=90580 |