summaryrefslogtreecommitdiffstats
path: root/generic/tclVar.c
diff options
context:
space:
mode:
authordgp <dgp@noemail.net>2008-10-08 14:52:37 (GMT)
committerdgp <dgp@noemail.net>2008-10-08 14:52:37 (GMT)
commit73c71f1de8ee6a0f27e9ea3c07f921c1a6993e31 (patch)
tree283b89b06c2ba1a92b8cb7c5a9d3c4406057cc3b /generic/tclVar.c
parent3cebd284543a05fbcce595b6a94d076cd758e238 (diff)
downloadtcl-73c71f1de8ee6a0f27e9ea3c07f921c1a6993e31.zip
tcl-73c71f1de8ee6a0f27e9ea3c07f921c1a6993e31.tar.gz
tcl-73c71f1de8ee6a0f27e9ea3c07f921c1a6993e31.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. FossilOrigin-Name: 8560e0542f70b5720497d85280d2209733c2331c
Diffstat (limited to 'generic/tclVar.c')
-rw-r--r--generic/tclVar.c13
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));
}
/*