diff --git a/components/synedit/synhighlighterany.pas b/components/synedit/synhighlighterany.pas index 96a374489e..da5f2cb5d9 100644 --- a/components/synedit/synhighlighterany.pas +++ b/components/synedit/synhighlighterany.pas @@ -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; diff --git a/components/synedit/synhighlightercpp.pp b/components/synedit/synhighlightercpp.pp index 42fb4bf569..5d80a9e2ce 100644 --- a/components/synedit/synhighlightercpp.pp +++ b/components/synedit/synhighlightercpp.pp @@ -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; diff --git a/components/synedit/synhighlightercss.pas b/components/synedit/synhighlightercss.pas index 72f8273f42..06f9fa83b9 100644 --- a/components/synedit/synhighlightercss.pas +++ b/components/synedit/synhighlightercss.pas @@ -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; diff --git a/components/synedit/synhighlighterjava.pas b/components/synedit/synhighlighterjava.pas index 8bc14ce070..9831946077 100644 --- a/components/synedit/synhighlighterjava.pas +++ b/components/synedit/synhighlighterjava.pas @@ -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; diff --git a/components/synedit/synhighlighterjscript.pas b/components/synedit/synhighlighterjscript.pas index 960008dfb4..a036ad2200 100644 --- a/components/synedit/synhighlighterjscript.pas +++ b/components/synedit/synhighlighterjscript.pas @@ -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; diff --git a/components/synedit/synhighlighterlfm.pas b/components/synedit/synhighlighterlfm.pas index 06984382a7..ad574bf0bb 100644 --- a/components/synedit/synhighlighterlfm.pas +++ b/components/synedit/synhighlighterlfm.pas @@ -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; diff --git a/components/synedit/synhighlighterpas.pp b/components/synedit/synhighlighterpas.pp index b75546c8f2..5457ede2fc 100644 --- a/components/synedit/synhighlighterpas.pp +++ b/components/synedit/synhighlighterpas.pp @@ -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; diff --git a/components/synedit/synhighlighterperl.pas b/components/synedit/synhighlighterperl.pas index c6234f61d3..52f06dcc16 100644 --- a/components/synedit/synhighlighterperl.pas +++ b/components/synedit/synhighlighterperl.pas @@ -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; diff --git a/components/synedit/synhighlighterphp.pas b/components/synedit/synhighlighterphp.pas index 184f77e11d..1f197df888 100644 --- a/components/synedit/synhighlighterphp.pas +++ b/components/synedit/synhighlighterphp.pas @@ -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; diff --git a/components/synedit/synhighlighterpython.pas b/components/synedit/synhighlighterpython.pas index 8eac32b1f0..89d5eb78bc 100644 --- a/components/synedit/synhighlighterpython.pas +++ b/components/synedit/synhighlighterpython.pas @@ -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; diff --git a/components/synedit/synhighlightersql.pas b/components/synedit/synhighlightersql.pas index ad96d97d07..c6212b1abf 100644 --- a/components/synedit/synhighlightersql.pas +++ b/components/synedit/synhighlightersql.pas @@ -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; diff --git a/components/synedit/synhighlighterunixshellscript.pas b/components/synedit/synhighlighterunixshellscript.pas index 113c8cf5c5..dbc1fad7de 100644 --- a/components/synedit/synhighlighterunixshellscript.pas +++ b/components/synedit/synhighlighterunixshellscript.pas @@ -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; diff --git a/components/synedit/synhighlightervb.pas b/components/synedit/synhighlightervb.pas index 3495bb024b..2df2a216eb 100644 --- a/components/synedit/synhighlightervb.pas +++ b/components/synedit/synhighlightervb.pas @@ -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;