rem: char **argv, Ns_DString *outputPtr)
add: char **argv, Tcl_DString *outputPtr)
context: PushFrame(NsInterp *itPtr, Frame *framePtr, char *file, int argc,	  char **argv, Ns_DString *outputPtr){    char    *slash;    /*     * Save current NsInterp state.     */    framePtr->cwd = itPtr->adp.cwd;    framePtr->argc = itPtr->adp.argc;    framePtr->argv = itPtr->adp.argv;    framePtr->file = itPtr->adp.file;    framePtr->outputPtr = itPtr->adp.outputPtr;    itPtr->adp.outputPtr = outputPtr;    itPtr->adp.argc = argc;    itPtr->adp.argv = argv;    itPtr->adp.file = file;    ++itPtr->adp.depth;    /*     * If file is not NULL it indicates a call from     * AdpProc or AdpIncludeCmd.  If so, update the     * current working directory based on the     * absolute file pathname.     */    Ns_DStringInit(&framePtr->cwdBuf);    if (file != NULL) {	slash = strrchr(file, '/');    	Ns_DStringNAppend(&framePtr->cwdBuf, file, slash - file);    	itPtr->adp.cwd = framePtr->cwdBuf.string;    }}