summaryrefslogtreecommitdiffstats
path: root/generic/tclVar.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2008-10-08 14:52:38 (GMT)
committerdgp <dgp@users.sourceforge.net>2008-10-08 14:52:38 (GMT)
commitc0384761647b436730467f41458a6c495532b14b (patch)
tree283b89b06c2ba1a92b8cb7c5a9d3c4406057cc3b /generic/tclVar.c
parentdc5c90f4a6e01534ffc03e64ca44c034c87a68df (diff)
downloadtcl-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.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));
}
/*