diff options
author | dgp <dgp@users.sourceforge.net> | 2008-10-08 14:52:38 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2008-10-08 14:52:38 (GMT) |
commit | c0384761647b436730467f41458a6c495532b14b (patch) | |
tree | 283b89b06c2ba1a92b8cb7c5a9d3c4406057cc3b /generic/tclVar.c | |
parent | dc5c90f4a6e01534ffc03e64ca44c034c87a68df (diff) | |
download | tcl-c0384761647b436730467f41458a6c495532b14b.zip tcl-c0384761647b436730467f41458a6c495532b14b.tar.gz tcl-c0384761647b436730467f41458a6c495532b14b.tar.bz2 |
* generic/tclTrace.c: Corrected handling of errors returned by
variable traces so that the errorInfo value contains the original
error message. [Bug 2151707]
* generic/tclVar.c: Revised implementation of TclObjVarErrMsg
so that error message construction does not disturb an existing
iPtr->errorInfo that may be in progress.
Diffstat (limited to 'generic/tclVar.c')
-rw-r--r-- | generic/tclVar.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/generic/tclVar.c b/generic/tclVar.c index 43f0324..dc6699e 100644 --- a/generic/tclVar.c +++ b/generic/tclVar.c @@ -16,7 +16,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclVar.c,v 1.160.2.2 2008/08/07 01:44:31 dgp Exp $ + * RCS: @(#) $Id: tclVar.c,v 1.160.2.3 2008/10/08 14:52:39 dgp Exp $ */ #include "tclInt.h" @@ -4660,16 +4660,13 @@ TclObjVarErrMsg( * variable, or -1. Only used when part1Ptr is * NULL. */ { - Tcl_ResetResult(interp); if (!part1Ptr) { part1Ptr = localName(((Interp *)interp)->varFramePtr, index); } - Tcl_AppendResult(interp, "can't ", operation, " \"", - TclGetString(part1Ptr), NULL); - if (part2Ptr) { - Tcl_AppendResult(interp, "(", TclGetString(part2Ptr), ")", NULL); - } - Tcl_AppendResult(interp, "\": ", reason, NULL); + Tcl_SetObjResult(interp, Tcl_ObjPrintf("can't %s \"%s%s%s%s\": %s", + operation, TclGetString(part1Ptr), (part2Ptr ? "(" : ""), + (part2Ptr ? TclGetString(part2Ptr) : ""), (part2Ptr ? ")" : ""), + reason)); } /* |