From cdc9efa44a519044e0c555101bd6630f96af2eaf Mon Sep 17 00:00:00 2001
From: dgp <dgp@users.sourceforge.net>
Date: Wed, 5 Jul 2006 20:42:15 +0000
Subject: Improvements to error context messages

---
 generic/tclParseExpr.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/generic/tclParseExpr.c b/generic/tclParseExpr.c
index 98683cc..9cbc34f 100644
--- a/generic/tclParseExpr.c
+++ b/generic/tclParseExpr.c
@@ -12,7 +12,7 @@
  * See the file "license.terms" for information on usage and redistribution of
  * this file, and for a DISCLAIMER OF ALL WARRANTIES.
  *
- * RCS: @(#) $Id: tclParseExpr.c,v 1.33 2006/07/05 05:34:45 dgp Exp $
+ * RCS: @(#) $Id: tclParseExpr.c,v 1.34 2006/07/05 20:42:15 dgp Exp $
  */
 
 #define OLD_EXPR_PARSER 0
@@ -2293,6 +2293,8 @@ Tcl_ParseExpr(
 		code = Tcl_ParseQuotedString(interp, start, numBytes,
 			&scratch, 1, &end);
 		if (code != TCL_OK) {
+		    scanned = scratch.term - start;
+		    scanned += (scanned < numBytes);
 		    continue;
 		}
 		scanned = end - start;
@@ -2310,6 +2312,8 @@ Tcl_ParseExpr(
 	    case VARIABLE:
 		code = Tcl_ParseVarName(interp, start, numBytes, &scratch, 1);
 		if (code != TCL_OK) {
+		    scanned = scratch.term - start;
+		    scanned += (scanned < numBytes);
 		    continue;
 		}
 		tokenPtr = scratch.tokenPtr + nodePtr->token + 1;
@@ -2356,11 +2360,13 @@ Tcl_ParseExpr(
 			break;
 		    }
 		}
+		end = start;
+		start = tokenPtr->start;
 		if (code != TCL_OK) {
+		    scanned = parsePtr->term - start;
+		    scanned += (scanned < numBytes);
 		    continue;
 		}
-		end = start;
-		start = tokenPtr->start;
 		scanned = end - start;
 		tokenPtr->size = scanned;
 		scratch.numTokens++;
-- 
cgit v0.12