I've found through bitter experience that changing the state of an sc then restoring it later causes ugly problems when the sc appears in multiple places (like where it is attached to symbols for forward references). A better way is to do an sc->push, change the value in the new scope, and then sc->pop.