nsf

Clone Tools
  • last updated 15 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Merge branch 'master' into 2-1-0-rc

* nsf.c (GetObjectFromObj, TclDeletesObject): Remove two earlier fixes to deal with ::nsf::object::alloc failing under cmd deletion/recreation. The issue has been tackled more generally by a Tcl-side fix. Background: Since 2005 (commit fcb9ab1df3a9b2d1), in Tcl the cmdEpoch state in delete traces and delete callbacks (deleteProcs, destructors) has been compromised. Bumping the epoch of the cmd under deletion before executing the traces and callbacks had the potential of caching the cmd under in Tcl_Objs beyond its deletion (at least in our code path). In July 2017 (8.7a, commit 54fac92610d3bdd9), this potential realised by removing a guard expression (CMD_IS_DELETED) in the Tcl_Obj cache invalidation logic, which had protected from such invalid caches (as a side effect). As of today (8.7a, commit 71fa1f9c91), the underlying timing problem of epoch bumping has been resolved.

* nsf.c (TclDeletesObject): Provide an alternative fix to reflect the changed cache invalidation policy for Tcl_Obj cmd intrep in 8.7.

Save code instrumentation to demonstrate the problem

move the logic if Tcl_GetCommandFromObj() is returning an epoched obj to a more central place (GetObjectFromObj()) such it might kick in on other potential occasions as well.

- fix text for Tcl 8.7

- use TclFreeIntRep() instead of direct function calls - perform TclFreeIntRep() for Class and Object creation under Tcl 8.7

fix for Tcl 8.7: - when recreating an nsf object in in tcl 8.7, we seem to have to invalidate the intrep, otherwise the new command is not picked up by a later Tcl_GetCommandFromObj()

* nsf.c (NsfMethodAliasCmd): Tcl 8.7 is more picky about typePtr and intrep being in line. We need to NULL the typePtr explicitly. TclFreeIntRep does so for us as good Tcl citizens, rather than setting bodyObj->typePtr == NULL directly.

* nx.tcl (VariableSlot->setCheckInstVar): Use method parameter 'value' rather than object variable 'default'

* nx.tcl, parameters.test (Object->object variable): Support for substdefault has been entirely missing so far. Added basic tests

Get ChangeLog up-to-date

Add to Announcement

merged

Updated Announcement

Updated Announcement

Done with ChangeLog and Announcement draft

    • -303
    • +102
    /ChangeLog-2.0.0-2.1.0.log
Done with ChangeLog and Announcement draft

    • -303
    • +102
    /ChangeLog-2.0.0-2.1.0.log
~6 months of changelog remaining

    • -264
    • +142
    /ChangeLog-2.0.0-2.1.0.log
~6 months of changelog remaining

    • -264
    • +142
    /ChangeLog-2.0.0-2.1.0.log
Dive into 2015 changes (to be continued)

Dive into 2015 changes (to be continued)

* Updated copyright dates and copyright notices

  1. … 3 more files in changeset.
* Updated copyright dates and copyright notices

  1. … 3 more files in changeset.
Done with 2016 changes, ufff

Done with 2016 changes, ufff

Continue work on release docs

Continue work on release docs

Continue working on ChangeLog/Announcement

Continue working on ChangeLog/Announcement