Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | [e711ffb458] Replace TclIsLocalScalar() (which does the wrong thing).... with PushVarNameWord() (which doesn't) in the compiler for [dict lappend]. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | bug-e711ffb458 |
Files: | files | file ages | folders |
SHA1: |
f0b1afe69623ece085eb2a186be6052b |
User & Date: | dgp 2014-12-09 20:29:09 |
Context
2014-12-09
| ||
20:45 | [e711ffb458] Replace TclIsLocalScalar() with PushVarNameWord() in the compiler for [dict set]. check-in: 91baefb917 user: dgp tags: bug-e711ffb458 | |
20:29 | [e711ffb458] Replace TclIsLocalScalar() (which does the wrong thing).... with PushVarNameWord() (whi... check-in: f0b1afe696 user: dgp tags: bug-e711ffb458 | |
2014-12-08
| ||
16:05 | Fix some gcc compiler warnings (probably cygwin-only) check-in: c9948e5577 user: jan.nijtmans tags: core-8-5-branch | |
Changes
Changes to generic/tclCompCmds.c.
︙ | ︙ | |||
1280 1281 1282 1283 1284 1285 1286 | Tcl_Interp *interp, /* Used for looking up stuff. */ Tcl_Parse *parsePtr, /* Points to a parse structure for the command * created by Tcl_ParseCommand. */ Command *cmdPtr, /* Points to defintion of command being * compiled. */ CompileEnv *envPtr) /* Holds resulting instructions. */ { | < < | < > | < < < | < > | < | 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 | Tcl_Interp *interp, /* Used for looking up stuff. */ Tcl_Parse *parsePtr, /* Points to a parse structure for the command * created by Tcl_ParseCommand. */ Command *cmdPtr, /* Points to defintion of command being * compiled. */ CompileEnv *envPtr) /* Holds resulting instructions. */ { Tcl_Token *varTokenPtr, *keyTokenPtr, *valueTokenPtr; int isSimple, dictVarIndex = -1, isScalar = 0; DefineLineInformation; /* TIP #280 */ /* * There must be three arguments after the command. */ if (parsePtr->numWords != 4) { return TCL_ERROR; } varTokenPtr = TokenAfter(parsePtr->tokenPtr); keyTokenPtr = TokenAfter(varTokenPtr); valueTokenPtr = TokenAfter(keyTokenPtr); PushVarNameWord(interp, varTokenPtr, envPtr, TCL_CREATE_VAR, &dictVarIndex, &isSimple, &isScalar, 1); if (!isScalar || dictVarIndex < 0) { return TCL_ERROR; } CompileWord(envPtr, keyTokenPtr, interp, 2); CompileWord(envPtr, valueTokenPtr, interp, 3); TclEmitInstInt4( INST_DICT_LAPPEND, dictVarIndex, envPtr); return TCL_OK; } /* |
︙ | ︙ |
Changes to generic/tclCompile.c.
︙ | ︙ | |||
2284 2285 2286 2287 2288 2289 2290 | int TclFindCompiledLocal( register const char *name, /* Points to first character of the name of a * scalar or array variable. If NULL, a * temporary var should be created. */ int nameBytes, /* Number of bytes in the name. */ | | | | 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 | int TclFindCompiledLocal( register const char *name, /* Points to first character of the name of a * scalar or array variable. If NULL, a * temporary var should be created. */ int nameBytes, /* Number of bytes in the name. */ int create, /* If non-zero, allocate a local frame entry * for the variable if it is new. */ register Proc *procPtr) /* Points to structure describing procedure * containing the variable reference. */ { register CompiledLocal *localPtr; int localVar = -1; register int i; |
︙ | ︙ |