diff --git a/parser.c b/parser.c index af34e35b4..f5a3b56e5 100644 --- a/parser.c +++ b/parser.c @@ -3700,19 +3700,28 @@ int parser_test( const wchar_t * buff, res = 0; - if( block_level ) { int last_level = 0; - int i; + int i, j; int len = wcslen(buff); for( i=0; i= 0 ) + { last_level = block_level[i]; + /* + Make all whitespace before a token have the new level. + */ + for( j=i-1; j>=0; j-- ) + { + if( !wcschr( L" \n\t\r", buff[j] ) ) + break; + block_level[j] = last_level; + } + } block_level[i] = last_level; } - } if( count!= 0 )