Ticket UUID: | 1055216 | |||
Title: | Variable flag reform | |||
Type: | Patch | Version: | None | |
Submitter: | msofer | Created on: | 2004-10-27 11:31:12 | |
Subsystem: | 07. Variables | Assigned To: | msofer | |
Priority: | 5 Medium | Severity: | ||
Status: | Closed | Last Modified: | 2007-10-28 09:11:45 | |
Resolution: | Out of Date | Closed By: | msofer | |
Closed on: | 2007-10-28 02:11:45 | |||
Description: |
Changelog entry of the enclosed patch is: * generic/tclVar.c: simplification of the variable logic; three flag masks (VAR_SCALAR, VAR_UNDEFINED and VAR_ARGUMENT) are not used any longer. *** POTENTIAL INCOMPATIBILITY *** Extensions that include tclInt.h and directly access the variable flag values will definitely lose binary compatibility due to changes in some macro definitions. Source compatibility may also be affected depending on the details, and needs reviewing. Extensions that might be impacted include procomp, tbcload, itcl and xotcl. I think that this simplification is important, as it makes the handling of variables simpler and faster. The changes required to any extension accessing VAR_* flags or Tcl(SET|Clear|Is)Var* macros are small and simple. But I am still somewhat wary of breaking so many important extensions. OTOH, when if not in alpha? Decisions ... Requesting comments. | |||
User Comments: |
msofer added on 2007-10-28 09:11:45:
Logged In: YES user_id=148712 Originator: YES VAR_SCALAR and VAR_UNDEFINED are gone with varReform [Patch 1750051]. msofer added on 2004-10-29 04:05:33: File Added - 106866: varflags2.diff Logged In: YES user_id=148712 I'll hold on until the day after 8.5a2 is branched ... If we're already breaking compat, here's some more modifications. No benchmarks yet. dgp added on 2004-10-28 22:51:57: Logged In: YES user_id=80530 confirmed this changes breaks both binary and source compatibility with both XOTcl and Itcl. I'd be shy about committing this until we at least identify the patches to those extensions that will restore them to working. Unlikely to be suitable for commit before 8.5a2 release, IMO. dkf added on 2004-10-28 19:38:33: Logged In: YES user_id=79902 Itcl has already been broken for 8.5 anyway; you might as well plunge onwards ;) msofer added on 2004-10-27 18:37:31: Logged In: YES user_id=148712 Further note: Some unused flag values have been kept, some unneeded macros have been defined to do nothing - hoping that this simplifies the porting effort. The missing flag values are ignored. This may be important for tbc files prepared prior to this patch to run, at least until the tbcload developers take a look and/or make whatever changes are necessary. msofer added on 2004-10-27 18:31:13: File Added - 106669: varflags.diff |