mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-22 13:31:20 +02:00
* Fix bug ID #38269 (caret can be start of string)
git-svn-id: trunk@47889 -
This commit is contained in:
parent
50c659b1ca
commit
73dd1afd7d
@ -3106,7 +3106,8 @@ end;
|
||||
function TPascalScanner.FetchToken: TToken;
|
||||
|
||||
begin
|
||||
FPreviousToken:=FCurToken;
|
||||
if Not (FCurToken in [tkWhiteSpace,tkLineEnding]) then
|
||||
FPreviousToken:=FCurToken;
|
||||
while true do
|
||||
begin
|
||||
Result := DoFetchToken;
|
||||
@ -5051,8 +5052,7 @@ begin
|
||||
begin
|
||||
if ForceCaret or PPisSkipping or
|
||||
(PreviousToken in [tkeof,tkTab,tkLineEnding,tkComment,tkIdentifier,
|
||||
tkNil,tkOperator,tkBraceClose,tkSquaredBraceClose,tkCaret,
|
||||
tkWhitespace]) then
|
||||
tkNil,tkOperator,tkBraceClose,tkSquaredBraceClose,tkCaret]) then
|
||||
begin
|
||||
Inc(FTokenPos);
|
||||
Result := tkCaret;
|
||||
|
@ -115,6 +115,7 @@ type
|
||||
procedure TestNumber;
|
||||
procedure TestChar;
|
||||
procedure TestCharString;
|
||||
procedure TestCaretString;
|
||||
procedure TestBraceOpen;
|
||||
procedure TestBraceClose;
|
||||
procedure TestMul;
|
||||
@ -831,6 +832,12 @@ begin
|
||||
TestToken(pscanner.tkChar,'''A''');
|
||||
end;
|
||||
|
||||
procedure TTestScanner.TestCaretString;
|
||||
begin
|
||||
|
||||
TestTokens([tkIdentifier,tkWhiteSpace,tkEqual,tkwhiteSpace,pscanner.tkString,tkSemicolon],'a = ^C''abc'';',false);
|
||||
end;
|
||||
|
||||
procedure TTestScanner.TestNumber;
|
||||
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user