diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2016-09-21 09:36:35 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2016-09-21 09:36:35 (GMT) |
commit | ae2f2b211d31070531913851b894e2665b544beb (patch) | |
tree | f85bb98792c720e90346badc16cb7db5dd867027 /generic/tclEnsemble.c | |
parent | 65d17884a3fc402968d737201112e8006e371434 (diff) | |
parent | 3b786ffebeb7769d34099ea7064532501dc6aee5 (diff) | |
download | tcl-winFixes.zip tcl-winFixes.tar.gz tcl-winFixes.tar.bz2 |
merge core-8-6-branch. Undo changes to coffbase.txt (they cause overlap with Tk)winFixes
Diffstat (limited to 'generic/tclEnsemble.c')
-rw-r--r-- | generic/tclEnsemble.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/generic/tclEnsemble.c b/generic/tclEnsemble.c index 8e5e410..6fedf29 100644 --- a/generic/tclEnsemble.c +++ b/generic/tclEnsemble.c @@ -3306,7 +3306,7 @@ CompileToInvokedCommand( Tcl_Token *tokPtr; Tcl_Obj *objPtr, **words; char *bytes; - int length, i, numWords, cmdLit; + int length, i, numWords, cmdLit, extraLiteralFlags = LITERAL_CMD_NAME; DefineLineInformation; /* @@ -3349,7 +3349,10 @@ CompileToInvokedCommand( objPtr = Tcl_NewObj(); Tcl_GetCommandFullName(interp, (Tcl_Command) cmdPtr, objPtr); bytes = Tcl_GetStringFromObj(objPtr, &length); - cmdLit = TclRegisterNewCmdLiteral(envPtr, bytes, length); + if ((cmdPtr != NULL) && (cmdPtr->flags & CMD_VIA_RESOLVER)) { + extraLiteralFlags |= LITERAL_UNSHARED; + } + cmdLit = TclRegisterLiteral(envPtr, (char *)bytes, length, extraLiteralFlags); TclSetCmdNameObj(interp, TclFetchLiteral(envPtr, cmdLit), cmdPtr); TclEmitPush(cmdLit, envPtr); TclDecrRefCount(objPtr); |