summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tclCompCmds.c7
-rw-r--r--tests/dict.test2
2 files changed, 8 insertions, 1 deletions
diff --git a/generic/tclCompCmds.c b/generic/tclCompCmds.c
index b6e9527..f96470d 100644
--- a/generic/tclCompCmds.c
+++ b/generic/tclCompCmds.c
@@ -6149,6 +6149,7 @@ TclCompileEnsemble(
Tcl_Parse synthetic;
int len, numBytes, result, flags = 0, i;
const char *word;
+ DefineLineInformation;
if (parsePtr->numWords < 2) {
return TCL_ERROR;
@@ -6388,8 +6389,14 @@ TclCompileEnsemble(
* Hand off compilation to the subcommand compiler. At last!
*/
+ mapPtr->loc[eclIndex].line++;
+ mapPtr->loc[eclIndex].next++;
+
result = cmdPtr->compileProc(interp, &synthetic, cmdPtr, envPtr);
+ mapPtr->loc[eclIndex].line--;
+ mapPtr->loc[eclIndex].next--;
+
/*
* Clean up if necessary.
*/
diff --git a/tests/dict.test b/tests/dict.test
index b92893e..a673957 100644
--- a/tests/dict.test
+++ b/tests/dict.test
@@ -1212,7 +1212,7 @@ test dict-23.1 {dict compilation crash: Bug 3487626} {
}
}} [linenumber]
} 5
-test dict-23.2 {dict compilation crash: Bug 3487626} knownBug {
+test dict-23.2 {dict compilation crash: Bug 3487626} {
# Something isn't quite right in line number and continuation line
# tracking; at time of writing, this test produces 7, not 5, which
# indicates that the extra newlines in the non-script argument are