mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 03:09:11 +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,6 +3106,7 @@ end;
|
|||||||
function TPascalScanner.FetchToken: TToken;
|
function TPascalScanner.FetchToken: TToken;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
if Not (FCurToken in [tkWhiteSpace,tkLineEnding]) then
|
||||||
FPreviousToken:=FCurToken;
|
FPreviousToken:=FCurToken;
|
||||||
while true do
|
while true do
|
||||||
begin
|
begin
|
||||||
@ -5051,8 +5052,7 @@ begin
|
|||||||
begin
|
begin
|
||||||
if ForceCaret or PPisSkipping or
|
if ForceCaret or PPisSkipping or
|
||||||
(PreviousToken in [tkeof,tkTab,tkLineEnding,tkComment,tkIdentifier,
|
(PreviousToken in [tkeof,tkTab,tkLineEnding,tkComment,tkIdentifier,
|
||||||
tkNil,tkOperator,tkBraceClose,tkSquaredBraceClose,tkCaret,
|
tkNil,tkOperator,tkBraceClose,tkSquaredBraceClose,tkCaret]) then
|
||||||
tkWhitespace]) then
|
|
||||||
begin
|
begin
|
||||||
Inc(FTokenPos);
|
Inc(FTokenPos);
|
||||||
Result := tkCaret;
|
Result := tkCaret;
|
||||||
|
@ -115,6 +115,7 @@ type
|
|||||||
procedure TestNumber;
|
procedure TestNumber;
|
||||||
procedure TestChar;
|
procedure TestChar;
|
||||||
procedure TestCharString;
|
procedure TestCharString;
|
||||||
|
procedure TestCaretString;
|
||||||
procedure TestBraceOpen;
|
procedure TestBraceOpen;
|
||||||
procedure TestBraceClose;
|
procedure TestBraceClose;
|
||||||
procedure TestMul;
|
procedure TestMul;
|
||||||
@ -831,6 +832,12 @@ begin
|
|||||||
TestToken(pscanner.tkChar,'''A''');
|
TestToken(pscanner.tkChar,'''A''');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TTestScanner.TestCaretString;
|
||||||
|
begin
|
||||||
|
|
||||||
|
TestTokens([tkIdentifier,tkWhiteSpace,tkEqual,tkwhiteSpace,pscanner.tkString,tkSemicolon],'a = ^C''abc'';',false);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TTestScanner.TestNumber;
|
procedure TTestScanner.TestNumber;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user