Some SynHighlighter were breaking UTF8 (Bug #12517) original Patch by Eugen Bolz, slightly improved

git-svn-id: trunk@17358 -
This commit is contained in:
martin 2008-11-12 23:43:25 +00:00
parent ee19b1a320
commit e5e3ed2742
13 changed files with 52 additions and 3 deletions

View File

@ -771,6 +771,10 @@ end;
procedure TSynAnySyn.UnknownProc;
begin
inc(Run);
{$IFDEF SYN_LAZARUS}
while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
{$ENDIF}
fTokenID := tkUnKnown;
end;

View File

@ -1374,6 +1374,10 @@ end;
procedure TSynCppSyn.UnknownProc;
begin
inc(Run);
{$IFDEF SYN_LAZARUS}
while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
{$ENDIF}
fTokenID := tkUnknown;
end;

View File

@ -1615,6 +1615,10 @@ begin
else
{$ENDIF}
Inc(Run);
{$IFDEF SYN_LAZARUS}
while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
{$ENDIF}
FTokenID := tkUnknown;
end;

View File

@ -1253,6 +1253,10 @@ begin
else
{$ENDIF}
inc(Run);
{$IFDEF SYN_LAZARUS}
while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
{$ENDIF}
fTokenID := tkUnknown;
end;

View File

@ -1734,6 +1734,10 @@ begin
else
{$ENDIF}
inc(Run);
{$IFDEF SYN_LAZARUS}
while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
{$ENDIF}
fTokenID := tkUnknown;
end;

View File

@ -459,6 +459,10 @@ begin
else
{$ENDIF}
inc(Run);
{$IFDEF SYN_LAZARUS}
while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
{$ENDIF}
fTokenID := tkUnknown;
end;

View File

@ -1745,7 +1745,8 @@ procedure TSynPasSyn.UnknownProc;
begin
inc(Run);
{$IFDEF SYN_LAZARUS}
while (fLine[Run]>=#128) do inc(Run);
while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
{$ENDIF}
fTokenID := tkUnknown;
end;

View File

@ -2505,6 +2505,10 @@ begin
else
{$ENDIF}
inc(Run);
{$IFDEF SYN_LAZARUS}
while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
{$ENDIF}
fTokenID := tkUnknown;
end;

View File

@ -1274,6 +1274,10 @@ end;
procedure TSynPHPSyn.UnknownProc;
begin
inc(Run);
{$IFDEF SYN_LAZARUS}
while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
{$ENDIF}
fTokenID := tkUnknown;
end;

View File

@ -1143,6 +1143,10 @@ end;
procedure TSynPythonSyn.UnknownProc;
begin
inc(Run);
{$IFDEF SYN_LAZARUS}
while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
{$ENDIF}
fTokenID := tkUnknown;
end;

View File

@ -1358,12 +1358,16 @@ begin
fTokenID := tkComment;
fRange := rsComment;
end else begin
{$IFDEF SYN_MBCSSUPPORT}
{$IFDEF SYN_MBCSSUPPORT}
if FLine[Run] in LeadBytes then
Inc(Run,2)
else
{$ENDIF}
{$ENDIF}
inc(Run);
{$IFDEF SYN_LAZARUS}
while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
{$ENDIF}
fTokenID := tkUnknown;
end;
end;

View File

@ -663,6 +663,10 @@ end;
procedure TSynUNIXShellScriptSyn.UnknownProc;
begin
inc(Run);
{$IFDEF SYN_LAZARUS}
while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
{$ENDIF}
fTokenID := tkUnKnown;
end;

View File

@ -1159,6 +1159,10 @@ begin
else
{$ENDIF}
inc(Run);
{$IFDEF SYN_LAZARUS}
while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @UnknownProc)) do inc(Run);
{$ENDIF}
fTokenID := tkUnknown;
end;