>In my opinion this is a enhancement request. I definitely believe that the behaviour of the release method is a design err. Your example of the RELEASE command might indeed be a problem for *at least* existing code. Therefore backward compatibility should be provided.
>
>Are there other black holes we forgot ?
Walter,
The release command should only release the variable it is told to release. It should not NULL any other variables. It is a perfectly sound OO design to have multiple objects sharing another object. It is also valid to release the variables when you are through with them. If ObjA and ObjB are sharing an instance of ObjC and ObjB releases its variable you are saying that ObjA should also lose its reference to ObjC and that ObjC should be released from memory.
That, to me, would be a horrible side effect of releasing a variable.
As for the release method, I agree that the change to doing clean up of all references would be nice, but I don't want it if it will slow anything down.