|
@@ -1249,17 +1249,22 @@ sub process {
|
|
|
my $pre_ctx = "$1$2";
|
|
|
|
|
|
my ($level, @ctx) = ctx_statement_level($linenr, $realcnt, 0);
|
|
|
- my $ctx_ln = $linenr + $#ctx + 1;
|
|
|
my $ctx_cnt = $realcnt - $#ctx - 1;
|
|
|
my $ctx = join("\n", @ctx);
|
|
|
|
|
|
- ##warn "realcnt<$realcnt> ctx_cnt<$ctx_cnt>\n";
|
|
|
+ my $ctx_ln = $linenr;
|
|
|
+ my $ctx_skip = $realcnt;
|
|
|
|
|
|
- # Skip over any removed lines in the context following statement.
|
|
|
- while (defined($lines[$ctx_ln - 1]) && $lines[$ctx_ln - 1] =~ /^-/) {
|
|
|
+ while ($ctx_skip > $ctx_cnt || ($ctx_skip == $ctx_cnt &&
|
|
|
+ defined $lines[$ctx_ln - 1] &&
|
|
|
+ $lines[$ctx_ln - 1] =~ /^-/)) {
|
|
|
+ ##print "SKIP<$ctx_skip> CNT<$ctx_cnt>\n";
|
|
|
+ $ctx_skip-- if (!defined $lines[$ctx_ln - 1] || $lines[$ctx_ln - 1] !~ /^-/);
|
|
|
$ctx_ln++;
|
|
|
}
|
|
|
- ##warn "pre<$pre_ctx>\nline<$line>\nctx<$ctx>\nnext<$lines[$ctx_ln - 1]>\n";
|
|
|
+
|
|
|
+ ##print "realcnt<$realcnt> ctx_cnt<$ctx_cnt>\n";
|
|
|
+ ##print "pre<$pre_ctx>\nline<$line>\nctx<$ctx>\nnext<$lines[$ctx_ln - 1]>\n";
|
|
|
|
|
|
if ($ctx !~ /{\s*/ && defined($lines[$ctx_ln -1]) && $lines[$ctx_ln - 1] =~ /^\+\s*{/) {
|
|
|
ERROR("that open brace { should be on the previous line\n" .
|