View Issue Details

IDProjectCategoryView StatusLast Update
0022186LazarusPatchpublic2012-06-27 19:24
ReporterZaher DirkeyAssigned ToMartin Friebe 
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product VersionProduct Build 
Target Version1.2.0Fixed in Version1.1 (SVN) 
Summary0022186: Remove unused lines depend on SYN_LAZARUS and FPC defines Step 3
DescriptionIt is huge patch, but only clean ifdefs for SYN_LAZARUS, FPC
and also
SYN_CPPB
SYN_COMPILER_...

I kept some of them to keep functions not empty or not understand it.

Thanks
TagsNo tags attached.
Fixed in Revision37782
LazTarget1.2
Widgetset
Attached Files
  • synedit-clean-3.patch (250,593 bytes)
    Index: lazsynedittext.pas
    ===================================================================
    --- lazsynedittext.pas	(revision 37490)
    +++ lazsynedittext.pas	(working copy)
    @@ -306,10 +306,8 @@
         function  GetIsRedoing: Boolean; override;
       protected
         function GetCount: integer; override;
    -    function GetCapacity: integer;
    -      {$IFDEF SYN_COMPILER_3_UP} override; {$ELSE} virtual; {$ENDIF}
    -    procedure SetCapacity(NewCapacity: integer);
    -      {$IFDEF SYN_COMPILER_3_UP} override; {$ELSE} virtual; {$ENDIF}
    +    function GetCapacity: integer; override;
    +    procedure SetCapacity(NewCapacity: integer); override;
         function  Get(Index: integer): string; override;
         function  GetObject(Index: integer): TObject; override;
         procedure Put(Index: integer; const S: string); override;
    Index: lazsynimm.pas
    ===================================================================
    --- lazsynimm.pas	(revision 37490)
    +++ lazsynimm.pas	(working copy)
    @@ -237,7 +237,7 @@
     begin
       inherited Create(AOwner);
       FImeBlockSelection := TSynEditSelection.Create(ViewedTextBuffer, False);
    -  FImeBlockSelection.InvalidateLinesMethod := {$IFDEF FPC}@{$ENDIF}InvalidateLines;
    +  FImeBlockSelection.InvalidateLinesMethod := @InvalidateLines;
     
       TCustomSynEdit(FriendEdit).RegisterStatusChangedHandler(@DoStatusChanged, [scCaretX, scCaretY, scLeftChar, scTopLine, scModified]);
       TCustomSynEdit(FriendEdit).RegisterCommandHandler(@DoOnCommand, nil, [hcfInit]);
    @@ -406,9 +406,9 @@
       inherited Create(AOwner);
     
       FImeBlockSelection := TSynEditSelection.Create(ViewedTextBuffer, False);
    -  FImeBlockSelection.InvalidateLinesMethod := {$IFDEF FPC}@{$ENDIF}InvalidateLines;
    +  FImeBlockSelection.InvalidateLinesMethod := @InvalidateLines;
       FImeBlockSelection2 := TSynEditSelection.Create(ViewedTextBuffer, False);
    -  FImeBlockSelection2.InvalidateLinesMethod := {$IFDEF FPC}@{$ENDIF}InvalidateLines;
    +  FImeBlockSelection2.InvalidateLinesMethod := @InvalidateLines;
     
       FImeMarkupSelection  := TSynEditMarkupSelection.Create(FriendEdit, FImeBlockSelection);
       FImeMarkupSelection2 := TSynEditMarkupSelection.Create(FriendEdit, FImeBlockSelection2);
    Index: syncompletion.pas
    ===================================================================
    --- syncompletion.pas	(revision 37490)
    +++ syncompletion.pas	(working copy)
    @@ -519,13 +519,10 @@
       FormStyle := fsSystemStayOnTop;
       Scroll := TScrollBar.Create(self);
       Scroll.Kind := sbVertical;
    -  {$IFNDEF SYN_LAZARUS}
    -  Scroll.ParentCtl3D := False;
    -  {$ENDIF}
    -  Scroll.OnChange := {$IFDEF FPC}@{$ENDIF}ScrollChange;
    +  Scroll.OnChange := @ScrollChange;
       Scroll.Parent := Self;
    -  Scroll.OnEnter := {$IFDEF FPC}@{$ENDIF}ScrollGetFocus;
    -  Scroll.OnScroll := {$IFDEF FPC}@{$ENDIF}ScrollScroll;
    +  Scroll.OnEnter := @ScrollGetFocus;
    +  Scroll.OnScroll := @ScrollScroll;
       Scroll.TabStop := False;
       Scroll.Visible := True;
       //Scroll.Align:=alRight;
    @@ -572,13 +569,13 @@
       FHint.OnMouseDown :=@HintWindowMouseDown;
       {$ENDIF}
       FHintTimer := TTimer.Create(nil);
    -  FHintTimer.OnTimer := {$IFDEF FPC}@{$ENDIF}OnHintTimer;
    +  FHintTimer.OnTimer := @OnHintTimer;
       FHintTimer.Interval := 0;
       FLongLineHintTime := 0;
       FLongLineHintType := sclpExtendRightOnly;
       Visible := false;
       ClSelect := clHighlight;
    -  TStringList(FItemList).OnChange := {$IFDEF FPC}@{$ENDIF}StringListChange;
    +  TStringList(FItemList).OnChange := @StringListChange;
       FNbLinesInWindow := 6;
       FontChanged(Font);
       ShowHint := False;
    @@ -1129,7 +1126,7 @@
     begin
       if FCurrentEditor <> nil then begin
         FCurrentEditor.RegisterStatusChangedHandler
    -    ({$IFDEF FPC}@{$ENDIF}EditorStatusChanged, [scTopLine]);
    +    (@EditorStatusChanged, [scTopLine]);
         // Catch Editor events. Some Widgetset may report keys to the editor,
         // if the user types faster, then the app can open the form
         FCurrentEditor.RegisterBeforeKeyDownHandler(@DoEditorKeyDown);
    @@ -1137,19 +1134,19 @@
         FCurrentEditor.RegisterBeforeUtf8KeyPressHandler(@DoEditorUtf8KeyPress);
       end;
       if not EditOnly then
    -    Application.AddOnDeactivateHandler({$IFDEF FPC}@{$ENDIF}AppDeactivated);
    +    Application.AddOnDeactivateHandler(@AppDeactivated);
     end;
     
     procedure TSynBaseCompletionForm.UnRegisterHandlers(EditOnly: Boolean);
     begin
       if FCurrentEditor <> nil then begin
    -    FCurrentEditor.UnRegisterStatusChangedHandler({$IFDEF FPC}@{$ENDIF}EditorStatusChanged);
    +    FCurrentEditor.UnRegisterStatusChangedHandler(@EditorStatusChanged);
         FCurrentEditor.UnregisterBeforeKeyDownHandler(@DoEditorKeyDown);
         FCurrentEditor.UnregisterBeforeKeyPressHandler(@DoEditorKeyPress);
         FCurrentEditor.UnregisterBeforeUtf8KeyPressHandler(@DoEditorUtf8KeyPress);
       end;
       if not EditOnly then
    -    Application.RemoveOnDeactivateHandler({$IFDEF FPC}@{$ENDIF}AppDeactivated);
    +    Application.RemoveOnDeactivateHandler(@AppDeactivated);
     end;
     
     procedure TSynBaseCompletionForm.SetCurrentEditor(const AValue: TCustomSynEdit);
    @@ -1754,9 +1751,9 @@
     begin
       inherited Create(AOwner);
       Form.OnUTF8KeyPress := @UTF8KeyPress;
    -  Form.OnKeyDelete := {$IFDEF FPC}@{$ENDIF}Backspace;
    -  Form.OnValidate := {$IFDEF FPC}@{$ENDIF}Validate;
    -  Form.OnCancel := {$IFDEF FPC}@{$ENDIF}Cancel;
    +  Form.OnKeyDelete := @Backspace;
    +  Form.OnValidate := @Validate;
    +  Form.OnCancel := @Cancel;
       Form.OnPaint:=@OnFormPaint;
       FEndOfTokenChr := '()[].';
       fShortCut := Menus.ShortCut(Ord(' '), [ssCtrl]);
    @@ -2140,9 +2137,9 @@
     initialization
       KeyOffset    := AllocatePluginKeyRange(ecSynCompletionCount, True);
     
    -  RegisterKeyCmdIdentProcs({$IFDEF FPC}@{$ENDIF}IdentToSynCompletionCommand,
    -                           {$IFDEF FPC}@{$ENDIF}SynCompletionCommandToIdent);
    -  RegisterExtraGetEditorCommandValues({$IFDEF FPC}@{$ENDIF}GetEditorCommandValues);
    +  RegisterKeyCmdIdentProcs(@IdentToSynCompletionCommand,
    +                           @SynCompletionCommandToIdent);
    +  RegisterExtraGetEditorCommandValues(@GetEditorCommandValues);
     
     
     end.
    Index: synedit.pp
    ===================================================================
    --- synedit.pp	(revision 37490)
    +++ synedit.pp	(working copy)
    @@ -95,11 +95,7 @@
       SynGutterBase, SynGutter, SynGutterCodeFolding, SynGutterChanges,
       SynGutterLineNumber, SynGutterMarks, SynGutterLineOverview,
       SynEditMiscClasses, SynEditHighlighter, LazSynTextArea, SynTextDrawer,
    -  LResources, Clipbrd
    -  {$IFDEF SYN_COMPILER_4_UP}
    -  , StdActns
    -  {$ENDIF}
    -  ;
    +  LResources, Clipbrd, StdActns;
     
     const
       ScrollBarWidth=0;
    @@ -111,11 +107,6 @@
       SynDefaultFontPitch:   TFontPitch   = fpFixed;
       SynDefaultFontQuality: TFontQuality = fqNonAntialiased;
     
    -  {$IFNDEF SYN_COMPILER_3_UP}
    -   // not defined in all Delphi versions
    -  WM_MOUSEWHEEL = $020A;
    -  {$ENDIF}
    -
       // maximum scroll range
       MAX_SCROLL = 32767;
     
    @@ -440,13 +431,13 @@
         procedure WMDropFiles(var Msg: TMessage); message WM_DROPFILES;
         procedure WMEraseBkgnd(var Msg: TMessage); message WM_ERASEBKGND;
         procedure WMGetDlgCode(var Msg: TWMGetDlgCode); message WM_GETDLGCODE;
    -    procedure WMHScroll(var Msg: {$IFDEF SYN_LAZARUS}TLMScroll{$ELSE}TWMScroll{$ENDIF}); message WM_HSCROLL;
    +    procedure WMHScroll(var Msg: TLMScroll); message WM_HSCROLL;
         procedure WMKillFocus(var Msg: TWMKillFocus); message WM_KILLFOCUS;
         procedure WMExit(var Message: TLMExit); message LM_EXIT;
         procedure WMMouseWheel(var Message: TLMMouseEvent); message LM_MOUSEWHEEL;
         //procedure WMMouseWheel(var Msg: TMessage); message WM_MOUSEWHEEL;
         procedure WMSetFocus(var Msg: TLMSetFocus); message WM_SETFOCUS;
    -    procedure WMVScroll(var Msg: {$IFDEF SYN_LAZARUS}TLMScroll{$ELSE}TWMScroll{$ENDIF}); message WM_VSCROLL;
    +    procedure WMVScroll(var Msg: TLMScroll); message WM_VSCROLL;
       protected
         procedure CMWantSpecialKey(var Message: TLMessage); message CM_WANTSPECIALKEY;
       private
    @@ -928,9 +919,7 @@
         property CanPaste: Boolean read GetCanPaste;
     
         procedure DragDrop(Source: TObject; X, Y: Integer); override;
    -{$IFDEF SYN_COMPILER_4_UP}
         function ExecuteAction(ExeAction: TBasicAction): boolean; override;
    -{$ENDIF}
         procedure CommandProcessor(Command:TSynEditorCommand;
           AChar: TUTF8Char;
           Data:pointer); virtual;
    @@ -1011,9 +1000,7 @@
         procedure ResetMouseActions;  // set mouse-actions according to current Options / may clear them
         procedure SetOptionFlag(Flag: TSynEditorOption; Value: boolean);
         Procedure SetHighlightSearch(const ASearch: String; AOptions: TSynSearchOptions);
    -{$IFDEF SYN_COMPILER_4_UP}
         function UpdateAction(TheAction: TBasicAction): boolean; override;
    -{$ENDIF}
         procedure WndProc(var Msg: TMessage); override;
         procedure EraseBackground(DC: HDC); override;
       public
    @@ -1148,10 +1135,8 @@
         property BlockIndent;
         property BlockTabIndent;
         property BorderSpacing;
    -{$IFDEF SYN_COMPILER_4_UP}
         property Anchors;
         property Constraints;
    -{$ENDIF}
         property Color;
         property Cursor default crIBeam;
         property Enabled;
    @@ -1175,10 +1160,8 @@
         property OnQuadClick;
         property OnDragDrop;
         property OnDragOver;
    -{$IFDEF SYN_COMPILER_4_UP}
     // ToDo Docking
         property OnEndDock;
    -{$ENDIF}
         property OnEndDrag;
         property OnEnter;
         property OnExit;
    @@ -1192,10 +1175,8 @@
         property OnMouseLink: TSynMouseLinkEvent read FOnMouseLink write FOnMouseLink;
         property OnMouseEnter;
         property OnMouseLeave;
    -{$IFDEF SYN_COMPILER_4_UP}
     // ToDo Docking
         property OnStartDock;
    -{$ENDIF}
         property OnStartDrag;
         // TCustomSynEdit properties
         property BookMarkOptions;
    @@ -1881,7 +1862,7 @@
     
       FCaret := TSynEditCaret.Create;
       FCaret.MaxLeftChar := @CurrentMaxLineLen;
    -  FCaret.AddChangeHandler({$IFDEF FPC}@{$ENDIF}CaretChanged);
    +  FCaret.AddChangeHandler(@CaretChanged);
       FInternalCaret := TSynEditCaret.Create;
       FInternalCaret.MaxLeftChar := @CurrentMaxLineLen;
     
    @@ -1900,14 +1881,14 @@
       FTopLinesView := FTrimmedLinesView;
     
       FFoldedLinesView := TSynEditFoldedView.Create(FTheLinesView, fCaret);
    -  FFoldedLinesView.OnFoldChanged := {$IFDEF FPC}@{$ENDIF}FoldChanged;
    -  FFoldedLinesView.OnLineInvalidate := {$IFDEF FPC}@{$ENDIF}InvalidateGutterLines;
    +  FFoldedLinesView.OnFoldChanged := @FoldChanged;
    +  FFoldedLinesView.OnLineInvalidate := @InvalidateGutterLines;
       FFoldedLinesView.DisplayView.NextView := FTheLinesView.DisplayView;
     
       FDisplayView := FFoldedLinesView.DisplayView;
     
       // External Accessor
    -  FStrings := TSynEditLines.Create(TSynEditStringList(FLines), {$IFDEF FPC}@{$ENDIF}MarkTextAsSaved);
    +  FStrings := TSynEditLines.Create(TSynEditStringList(FLines), @MarkTextAsSaved);
     
       FCaret.Lines := FTheLinesView;
       FInternalCaret.Lines := FTheLinesView;
    @@ -1916,24 +1897,24 @@
       FOldHeight := -1;
     
       with TSynEditStringList(fLines) do begin
    -    AddChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
    -    AddChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineTextChanged);
    -    AddChangeHandler(senrHighlightChanged, {$IFDEF FPC}@{$ENDIF}DoHighlightChanged);
    -    AddNotifyHandler(senrCleared, {$IFDEF FPC}@{$ENDIF}ListCleared);
    -    AddNotifyHandler(senrUndoRedoAdded, {$IFDEF FPC}@{$ENDIF}Self.UndoRedoAdded);
    -    AddNotifyHandler(senrModifiedChanged, {$IFDEF FPC}@{$ENDIF}ModifiedChanged);
    -    AddNotifyHandler(senrIncPaintLock, {$IFDEF FPC}@{$ENDIF}DoIncPaintLock);
    -    AddNotifyHandler(senrDecPaintLock, {$IFDEF FPC}@{$ENDIF}DoDecPaintLock);
    -    AddNotifyHandler(senrIncOwnedPaintLock, {$IFDEF FPC}@{$ENDIF}DoIncForeignPaintLock);
    -    AddNotifyHandler(senrDecOwnedPaintLock, {$IFDEF FPC}@{$ENDIF}DoDecForeignPaintLock);
    +    AddChangeHandler(senrLineCount, @LineCountChanged);
    +    AddChangeHandler(senrLineChange, @LineTextChanged);
    +    AddChangeHandler(senrHighlightChanged, @DoHighlightChanged);
    +    AddNotifyHandler(senrCleared, @ListCleared);
    +    AddNotifyHandler(senrUndoRedoAdded, @Self.UndoRedoAdded);
    +    AddNotifyHandler(senrModifiedChanged, @ModifiedChanged);
    +    AddNotifyHandler(senrIncPaintLock, @DoIncPaintLock);
    +    AddNotifyHandler(senrDecPaintLock, @DoDecPaintLock);
    +    AddNotifyHandler(senrIncOwnedPaintLock, @DoIncForeignPaintLock);
    +    AddNotifyHandler(senrDecOwnedPaintLock, @DoDecForeignPaintLock);
       end;
     
       FScreenCaret := TSynEditScreenCaret.Create(Self);
    -  FScreenCaret.OnExtraLineCharsChanged := {$IFDEF FPC}@{$ENDIF}ExtraLineCharsChanged;
    +  FScreenCaret.OnExtraLineCharsChanged := @ExtraLineCharsChanged;
     
       FUndoList := TSynEditStringList(fLines).UndoList;
       FRedoList := TSynEditStringList(fLines).RedoList;
    -  FUndoList.OnNeedCaretUndo := {$IFDEF FPC}@{$ENDIF}GetCaretUndo;
    +  FUndoList.OnNeedCaretUndo := @GetCaretUndo;
       {$IFDEF SynUndoDebugCalls}
       fUndoList.DebugName := 'UNDO';
       fRedoList.DebugName := 'REDO';
    @@ -1941,11 +1922,11 @@
     
       FBlockSelection := TSynEditSelection.Create(FTheLinesView, True);
       FBlockSelection.Caret := FCaret;
    -  FBlockSelection.InvalidateLinesMethod := {$IFDEF FPC}@{$ENDIF}InvalidateLines;
    -  FBlockSelection.AddChangeHandler({$IFDEF FPC}@{$ENDIF}DoBlockSelectionChanged);
    +  FBlockSelection.InvalidateLinesMethod := @InvalidateLines;
    +  FBlockSelection.AddChangeHandler(@DoBlockSelectionChanged);
     
       FInternalBlockSelection := TSynEditSelection.Create(FTheLinesView, False);
    -  FInternalBlockSelection.InvalidateLinesMethod := {$IFDEF FPC}@{$ENDIF}InvalidateLines;
    +  FInternalBlockSelection.InvalidateLinesMethod := @InvalidateLines;
       // No need for caret, on interanl block
     
       FFoldedLinesView.BlockSelection := FBlockSelection;
    @@ -1962,14 +1943,14 @@
       FPaintLineColor := TSynSelectedColor.Create;
       FPaintLineColor2 := TSynSelectedColor.Create;
       fBookMarkOpt := TSynBookMarkOpt.Create(Self);
    -  fBookMarkOpt.OnChange := {$IFDEF FPC}@{$ENDIF}BookMarkOptionsChanged;
    +  fBookMarkOpt.OnChange := @BookMarkOptionsChanged;
     
       FLeftGutter := CreateGutter(self, gsLeft, FTextDrawer);
    -  FLeftGutter.RegisterChangeHandler({$IFDEF FPC}@{$ENDIF}GutterChanged);
    -  FLeftGutter.RegisterResizeHandler({$IFDEF FPC}@{$ENDIF}GutterResized);
    +  FLeftGutter.RegisterChangeHandler(@GutterChanged);
    +  FLeftGutter.RegisterResizeHandler(@GutterResized);
       FRightGutter := CreateGutter(self, gsRight, FTextDrawer);
    -  FRightGutter.RegisterChangeHandler({$IFDEF FPC}@{$ENDIF}GutterChanged);
    -  FRightGutter.RegisterResizeHandler({$IFDEF FPC}@{$ENDIF}GutterResized);
    +  FRightGutter.RegisterChangeHandler(@GutterChanged);
    +  FRightGutter.RegisterResizeHandler(@GutterResized);
     
       ControlStyle := ControlStyle + [csOpaque, csSetCaption, csTripleClicks, csQuadClicks];
       Height := 150;
    @@ -2044,7 +2025,7 @@
     
       Color := clWhite;
       Font.Assign(fFontDummy);
    -  Font.OnChange := {$IFDEF FPC}@{$ENDIF}FontChanged;
    +  Font.OnChange := @FontChanged;
       FontChanged(nil);
       ParentFont := False;
       ParentColor := False;
    @@ -2086,7 +2067,7 @@
       fScrollTimer := TTimer.Create(Self);
       fScrollTimer.Enabled := False;
       fScrollTimer.Interval := 100;
    -  fScrollTimer.OnTimer := {$IFDEF FPC}@{$ENDIF}ScrollTimerHandler;
    +  fScrollTimer.OnTimer := @ScrollTimerHandler;
     
       // Accessibility
       AccessibleRole := larTextEditorMultiline;
    @@ -2127,7 +2108,7 @@
         Style := Style or ScrollBar[FScrollBars] or BorderStyles[BorderStyle]
           or WS_CLIPCHILDREN;
         {$IFDEF RangeCheckOn}{$R+}{$ENDIF}
    -    if NewStyleControls {$IFNDEF SYN_LAZARUS}and Ctl3D{$ENDIF} and (BorderStyle = bsSingle) then begin
    +    if NewStyleControls and (BorderStyle = bsSingle) then begin
           Style := Style and not Cardinal(WS_BORDER);
           ExStyle := ExStyle or WS_EX_CLIENTEDGE;
         end;
    @@ -2293,17 +2274,17 @@
       end;
     
       RemoveHandlers;
    -  FLeftGutter.UnRegisterChangeHandler({$IFDEF FPC}@{$ENDIF}GutterChanged);
    -  FLeftGutter.UnRegisterResizeHandler({$IFDEF FPC}@{$ENDIF}GutterResized);
    -  FRightGutter.UnRegisterChangeHandler({$IFDEF FPC}@{$ENDIF}GutterChanged);
    -  FRightGutter.UnRegisterResizeHandler({$IFDEF FPC}@{$ENDIF}GutterResized);
    +  FLeftGutter.UnRegisterChangeHandler(@GutterChanged);
    +  FLeftGutter.UnRegisterResizeHandler(@GutterResized);
    +  FRightGutter.UnRegisterChangeHandler(@GutterChanged);
    +  FRightGutter.UnRegisterResizeHandler(@GutterResized);
     
       FreeAndNil(FHookedKeyTranslationList);
       fHookedCommandHandlers:=nil;
       fPlugins:=nil;
       FCaret.Lines := nil;
       FInternalCaret.Lines := nil;
    -  FMarkList.UnRegisterChangeHandler({$IFDEF FPC}@{$ENDIF}MarkListChange);
    +  FMarkList.UnRegisterChangeHandler(@MarkListChange);
       FreeAndNil(FPaintArea);
       FreeAndNil(FLeftGutterArea);
       FreeAndNil(FRightGutterArea);
    @@ -3153,19 +3134,19 @@
       try
         // Check plugins/external handlers
         if FMouseActionSearchHandlerList.CallSearchHandlers(Info,
    -                                         {$IFDEF FPC}@{$ENDIF}DoHandleMouseAction)
    +                                         @DoHandleMouseAction)
         then
           exit;
     
         if FLeftGutter.Visible and (X < FLeftGutter.Width) then begin
           // mouse event occured in Gutter ?
    -      if FLeftGutter.MaybeHandleMouseAction(Info, {$IFDEF FPC}@{$ENDIF}DoHandleMouseAction) then
    +      if FLeftGutter.MaybeHandleMouseAction(Info, @DoHandleMouseAction) then
             exit;
         end
         else
         if FRightGutter.Visible and (X > ClientWidth - FRightGutter.Width) then begin
           // mouse event occured in Gutter ?
    -      if FRightGutter.MaybeHandleMouseAction(Info, {$IFDEF FPC}@{$ENDIF}DoHandleMouseAction) then
    +      if FRightGutter.MaybeHandleMouseAction(Info, @DoHandleMouseAction) then
             exit;
         end
         else
    @@ -4458,7 +4439,7 @@
         Msg.Result := Msg.Result or DLGC_WANTTAB;
     end;
     
    -procedure TCustomSynEdit.WMHScroll(var Msg: {$IFDEF SYN_LAZARUS}TLMScroll{$ELSE}TWMScroll{$ENDIF});
    +procedure TCustomSynEdit.WMHScroll(var Msg: TLMScroll);
     begin
       case Msg.ScrollCode of
           // Scrolls to start / end of the line
    @@ -4555,7 +4536,7 @@
       Result.HideInterval := 1500;
     end;
     
    -procedure TCustomSynEdit.WMVScroll(var Msg: {$IFDEF SYN_LAZARUS}TLMScroll{$ELSE}TWMScroll{$ENDIF});
    +procedure TCustomSynEdit.WMVScroll(var Msg: TLMScroll);
     var
       s: ShortString;
       rc: TRect;
    @@ -5271,7 +5252,7 @@
     
       // Recreate te public access to FLines
       FreeAndNil(FStrings);
    -  FStrings := TSynEditLines.Create(TSynEditStringList(FLines), {$IFDEF FPC}@{$ENDIF}MarkTextAsSaved);
    +  FStrings := TSynEditLines.Create(TSynEditStringList(FLines), @MarkTextAsSaved);
     
       // Flines has been set to the new buffer; and self is attached to the new FLines
       // FTheLinesView points to new FLines
    @@ -5327,7 +5308,7 @@
           FBookMarks[i] := nil;
       end;
     
    -  FMarkList.RegisterChangeHandler({$IFDEF FPC}@{$ENDIF}MarkListChange,
    +  FMarkList.RegisterChangeHandler(@MarkListChange,
         [low(TSynEditMarkChangeReason)..high(TSynEditMarkChangeReason)]);
     end;
     
    @@ -5340,7 +5321,7 @@
         exit;
     
       TSynEditMarkListInternal(fMarkList).RemoveOwnerEdit(Self);
    -  FMarkList.UnRegisterChangeHandler({$IFDEF FPC}@{$ENDIF}MarkListChange);
    +  FMarkList.UnRegisterChangeHandler(@MarkListChange);
     
       if IsMarkListShared then begin
         s := TSynEditStringList(FLines).AttachedSynEdits[0];
    @@ -5748,7 +5729,7 @@
     begin
       if not Assigned(fHighlighter) then
         exit;
    -  fHighlighter.UnhookAttrChangeEvent({$IFDEF FPC}@{$ENDIF}HighlighterAttrChanged);
    +  fHighlighter.UnhookAttrChangeEvent(@HighlighterAttrChanged);
       fHighlighter.DetachFromLines(FLines);
       fHighlighter.RemoveFreeNotification(self);
     end;
    @@ -5760,7 +5741,7 @@
         RemoveHooksFromHighlighter;
         if Assigned(Value) then begin
           Value.HookAttrChangeEvent(
    -        {$IFDEF FPC}@{$ENDIF}HighlighterAttrChanged);
    +        @HighlighterAttrChanged);
           Value.FreeNotification(Self);
           Value.AttachToLines(FLines);
         end;
    @@ -6612,7 +6593,7 @@
       {$IFDEF SynUndoDebugBeginEnd}
       DebugLnEnter(['>> TCustomSynEdit.InternalBeginUndoBlock', DbgSName(self), ' ', dbgs(Self), ' aList=', aList, ' FPaintLock=', FPaintLock, ' InGroupCount=',aList.InGroupCount]);
       {$ENDIF}
    -  aList.OnNeedCaretUndo := {$IFDEF FPC}@{$ENDIF}GetCaretUndo;
    +  aList.OnNeedCaretUndo := @GetCaretUndo;
       aList.BeginBlock;
       IncPaintLock;
       FFoldedLinesView.Lock;
    @@ -6639,7 +6620,7 @@
       DebugLnEnter(['>> TCustomSynEdit.BeginUndoBlock ', DbgSName(self), ' ', dbgs(Self), ' Caller=', ACaller, ' FPaintLock=', FPaintLock, ' InGroupCount=',fUndoList.InGroupCount, '  FIsInDecPaintLock=',dbgs(FIsInDecPaintLock)]);
       if ACaller = '' then DumpStack;
       {$ENDIF}
    -  fUndoList.OnNeedCaretUndo := {$IFDEF FPC}@{$ENDIF}GetCaretUndo;
    +  fUndoList.OnNeedCaretUndo := @GetCaretUndo;
       fUndoList.BeginBlock;
       ////FFoldedLinesView.Lock;
       //FTrimmedLinesView.Lock;
    @@ -7961,7 +7942,6 @@
       end;
     end;
     
    -{$IFDEF SYN_COMPILER_4_UP}
     function TCustomSynEdit.ExecuteAction(ExeAction: TBasicAction): boolean;
     begin
       if ExeAction is TEditAction then
    @@ -7973,14 +7953,12 @@
           CopyToClipboard
         else if ExeAction is TEditPaste then
           PasteFromClipboard
    -{$IFDEF SYN_COMPILER_5_UP}
         else if ExeAction is TEditDelete then
           ClearSelection
         else if ExeAction is TEditUndo then
           Undo
         else if ExeAction is TEditSelectAll then
           SelectAll;
    -{$ENDIF}
       end else
         Result := inherited ExecuteAction(ExeAction);
     end;
    @@ -7996,19 +7974,16 @@
             TEditAction(TheAction).Enabled := SelAvail
           else if TheAction is TEditPaste then
             TEditAction(TheAction).Enabled := CanPaste
    -{$IFDEF SYN_COMPILER_5_UP}
           else if TheAction is TEditDelete then
             TEditAction(TheAction).Enabled := TRUE
           else if TheAction is TEditUndo then
             TEditAction(TheAction).Enabled := CanUndo
           else if TheAction is TEditSelectAll then
             TEditAction(TheAction).Enabled := TRUE;
    -{$ENDIF}
         end;
       end else
         Result := inherited UpdateAction(TheAction);
     end;
    -{$ENDIF}
     
     procedure TCustomSynEdit.SetModified(Value: boolean);
     begin
    Index: syneditautocomplete.pp
    ===================================================================
    --- syneditautocomplete.pp	(revision 37490)
    +++ syneditautocomplete.pp	(working copy)
    @@ -166,7 +166,7 @@
       inherited Create(AOwner);
       fAutoCompleteList := TStringList.Create;
       TStringList(fAutoCompleteList).OnChange :=
    -     {$IFDEF FPC}@{$ENDIF}CompletionListChanged;
    +     @CompletionListChanged;
       fCompletions := TStringList.Create;
       fCompletionComments := TStringList.Create;
       fCompletionValues := TStringList.Create;
    @@ -561,13 +561,13 @@
     procedure TCustomSynAutoComplete.DoEditorAdded(AValue: TCustomSynEdit);
     begin
       inherited DoEditorAdded(AValue);
    -  AValue.RegisterCommandHandler({$IFDEF FPC}@{$ENDIF}SynEditCommandHandler, nil);
    +  AValue.RegisterCommandHandler(@SynEditCommandHandler, nil);
     end;
     
     procedure TCustomSynAutoComplete.DoEditorRemoving(AValue: TCustomSynEdit);
     begin
       inherited DoEditorRemoving(AValue);
    -  AValue.UnregisterCommandHandler({$IFDEF FPC}@{$ENDIF}SynEditCommandHandler);
    +  AValue.UnregisterCommandHandler(@SynEditCommandHandler);
     end;
     
     end.
    Index: syneditexport.pas
    ===================================================================
    --- syneditexport.pas	(revision 37490)
    +++ syneditexport.pas	(working copy)
    @@ -50,24 +50,8 @@
       Classes,
       SysUtils,
       SynEditHighlighter,
    -{$IFDEF SYN_KYLIX}
    -  Libc,  //js 07-04-2002 "," was missing here 
    -{$ENDIF}
    -{$IFDEF SYN_CLX}
    -  Qt,
    -  QGraphics,
    -  Types,
    -  QClipbrd
    -{$ELSE}
    -{$IFDEF SYN_LAZARUS}
       FileUtil, FPCAdds, LCLIntf, LCLType,
    -{$ELSE}
    -  Windows,
    -{$ENDIF}
    -  Graphics,
    -  Clipbrd
    -{$ENDIF}
    -  ;
    +  Graphics, Clipbrd;
     
     type
       PSynReplaceCharsArray = ^TSynReplaceCharsArray;
    @@ -221,9 +205,7 @@
       inherited Create(AOwner);
       fBuffer := TMemoryStream.Create;
       {*****************}
    -{$IFNDEF SYN_CLX}
       fClipboardFormat := CF_TEXT;
    -{$ENDIF}
       fFont := TFont.Create;
       fBackgroundColor := clWindow;
       AssignFont(nil);
    @@ -282,48 +264,15 @@
     procedure TSynCustomExporter.CopyToClipboard;
     begin
       if fExportAsText then
    -  {$IFDEF SYN_CLX}
    -    CopyToClipboardFormat(0)
    -  {$ELSE}
         CopyToClipboardFormat(CF_TEXT)
    -  {$ENDIF}
       else
         CopyToClipboardFormat(GetClipboardFormat);
     end;
     
     procedure TSynCustomExporter.CopyToClipboardFormat(AFormat: UINT);
    -{$IFNDEF SYN_LAZARUS}
    -var
    -  hData: THandle;
    -  hDataSize: UINT;
    -  PtrData: PChar;
    -{$ENDIF}
     begin
    -  {$IFDEF SYN_LAZARUS}
       fBuffer.Position:=0;
       ClipBoard.AddFormat(AFormat,fBuffer);
    -  {$ELSE}
    -  {$IFNDEF SYN_CLX}
    -  hDataSize := GetBufferSize + 1;
    -  hData := GlobalAlloc(GMEM_MOVEABLE or GMEM_ZEROINIT or GMEM_SHARE, hDataSize);
    -  if hData <> 0 then try
    -    PtrData := GlobalLock(hData);
    -    if Assigned(PtrData) then begin
    -      try
    -        fBuffer.Position := 0;
    -        fBuffer.Read(PtrData^, hDataSize - 1); // trailing #0
    -      finally
    -        GlobalUnlock(hData);
    -      end;
    -      Clipboard.SetAsHandle(AFormat, hData);
    -    end else
    -      Abort;
    -  except
    -    GlobalFree(hData);
    -    OutOfMemoryError;
    -  end;
    -  {$ENDIF}
    -  {$ENDIF}
     end;
     
     procedure TSynCustomExporter.ExportAll(ALines: TStrings);
    @@ -342,20 +291,12 @@
       if not Assigned(ALines) or not Assigned(Highlighter) or (ALines.Count = 0)
         or (Start.Y > ALines.Count) or (Start.Y > Stop.Y)
       then
    -  {$IFDEF SYN_CLX}
    -    exit;
    -  {$ELSE}
         Abort;
    -  {$ENDIF}
       Stop.Y := Max(1, Min(Stop.Y, ALines.Count));
       Stop.X := Max(1, Min(Stop.X, Length(ALines[Stop.Y - 1]) + 1));
       Start.X := Max(1, Min(Start.X, Length(ALines[Start.Y - 1]) + 1));
       if (Start.Y = Stop.Y) and (Start.X >= Stop.X) then
    -  {$IFDEF SYN_CLX}
    -    exit;
    -  {$ELSE}
         Abort;
    -  {$ENDIF}
       // initialization
       fBuffer.Position := 0;
       // Size is ReadOnly in Delphi 2
    @@ -414,7 +355,7 @@
     
     procedure TSynCustomExporter.InsertData(APos: integer; const AText: string);
     var
    -  Len, ToMove, SizeNeeded: {$IFDEF SYN_LAZARUS}TStreamSeekType{$ELSE}integer{$ENDIF};
    +  Len, ToMove, SizeNeeded: TStreamSeekType;
       Dest: PChar;
     begin
       Len := Length(AText);
    @@ -425,11 +366,7 @@
           // Size is ReadOnly in Delphi 2
           fBuffer.SetSize((SizeNeeded + $1800) and not $FFF); // increment in pages
         Dest := fBuffer.Memory;
    -    {$IFDEF SYN_LAZARUS}
         Dest:=Dest+Len;
    -    {$ELSE}
    -    inc(Dest,Len);
    -    {$ENDIF}
         Move(fBuffer.Memory^, Dest^, TCompareMemSize(ToMove));
         fBuffer.Position := 0;
         fBuffer.Write(AText[1], TMemStreamSeekType(Len));
    Index: syneditfoldedview.pp
    ===================================================================
    --- syneditfoldedview.pp	(revision 37490)
    +++ syneditfoldedview.pp	(working copy)
    @@ -3226,7 +3226,7 @@
       fLinesInWindow := -1;
       fLines := aTextView;
       fCaret := ACaret;
    -  fCaret.AddChangeHandler({$IFDEF FPC}@{$ENDIF}DoCaretChanged);
    +  fCaret.AddChangeHandler(@DoCaretChanged);
       fFoldTree := TSynTextFoldAVLTree.Create;
       FFoldProvider := TSynEditFoldProvider.Create(aTextView, fFoldTree);
       FDisplayView := TLazSynDisplayFold.Create(Self);
    @@ -3236,17 +3236,17 @@
       FMarkupInfoFoldedCode.Foreground := clDkGray;
       FMarkupInfoFoldedCode.FrameColor := clDkGray;
     
    -  fLines.AddChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
    -  fLines.AddNotifyHandler(senrCleared, {$IFDEF FPC}@{$ENDIF}LinesCleared);
    -  fLines.AddEditHandler({$IFDEF FPC}@{$ENDIF}LineEdited);
    +  fLines.AddChangeHandler(senrLineCount, @LineCountChanged);
    +  fLines.AddNotifyHandler(senrCleared, @LinesCleared);
    +  fLines.AddEditHandler(@LineEdited);
     end;
     
     destructor TSynEditFoldedView.Destroy;
     begin
    -  fLines.RemoveChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
    -  fLines.RemoveNotifyHandler(senrCleared, {$IFDEF FPC}@{$ENDIF}LinesCleared);
    -  fLines.RemoveEditHandler({$IFDEF FPC}@{$ENDIF}LineEdited);
    -  fCaret.RemoveChangeHandler({$IFDEF FPC}@{$ENDIF}DoCaretChanged);
    +  fLines.RemoveChangeHandler(senrLineCount, @LineCountChanged);
    +  fLines.RemoveNotifyHandler(senrCleared, @LinesCleared);
    +  fLines.RemoveEditHandler(@LineEdited);
    +  fCaret.RemoveChangeHandler(@DoCaretChanged);
       FreeAndNil(FDisplayView);
       fFoldTree.Free;
       fTextIndexList := nil;
    Index: synedithighlighterfoldbase.pas
    ===================================================================
    --- synedithighlighterfoldbase.pas	(revision 37490)
    +++ synedithighlighterfoldbase.pas	(working copy)
    @@ -350,7 +350,7 @@
     
         procedure SetRange(Value: Pointer); override;
         procedure ResetRange; override;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
    +    procedure SetLine(const NewValue: String;
                           LineNumber:Integer // 0 based
                           ); override;
       public
    Index: synedithighlighterxmlbase.pas
    ===================================================================
    --- synedithighlighterxmlbase.pas	(revision 37490)
    +++ synedithighlighterxmlbase.pas	(working copy)
    @@ -74,7 +74,7 @@
         procedure EndXmlCodeFoldBlock;
         procedure EndXmlNodeCodeFoldBlock(ClosePos: Integer = -1; AName: String = '');
       public
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string; LineNumber:Integer); override;
    +    procedure SetLine(const NewValue: string; LineNumber:Integer); override;
       end;
     
     implementation
    @@ -102,7 +102,7 @@
       end;
     end;
     
    -procedure TSynCustomXmlHighlighter.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string;
    +procedure TSynCustomXmlHighlighter.SetLine(const NewValue: string;
       LineNumber:Integer);
     begin
       inherited;
    Index: syneditkeycmds.pp
    ===================================================================
    --- syneditkeycmds.pp	(revision 37490)
    +++ syneditkeycmds.pp	(working copy)
    @@ -42,12 +42,7 @@
     interface
     
     uses
    -  {$IFDEF SYN_LAZARUS}
    -  LCLIntf, LCLType,
    -  {$ELSE}
    -  Windows,
    -  {$ENDIF}
    -  Classes, Menus, SysUtils;
    +  Classes, Menus, SysUtils, LCLIntf, LCLType;
     
     const
       //****************************************************************************
    @@ -312,9 +307,7 @@
         procedure SetShortCut(const Value: TShortCut);
         procedure SetShortCut2(const Value: TShortCut);
       protected
    -{$IFDEF SYN_COMPILER_3_UP}
         function GetDisplayName: string; override;
    -{$ENDIF}
       public
         procedure Assign(Source: TPersistent); override;
     {begin}                                                                         //ac 2000-07-05
    @@ -346,9 +339,7 @@
         function GetItem(Index: Integer): TSynEditKeyStroke;
         procedure SetItem(Index: Integer; Value: TSynEditKeyStroke);
       protected
    -{$IFDEF SYN_COMPILER_3_UP}
         function GetOwner: TPersistent; override;
    -{$ENDIF}
         function FindKeycode2(Code1: word; SS1: TShiftState;
           Code2: word; SS2: TShiftState): integer;
         function FindKeycode2Start(Code: word; SS: TShiftState): integer;
    @@ -486,15 +477,6 @@
     
     { Command mapping routines }
     
    -{$IFDEF SYN_COMPILER_2}
    -// This is defined in D3/C3 and up.
    -type
    -  TIdentMapEntry = record
    -    Value: TSynEditorCommand;
    -    Name: string;
    -  end;
    -{$ENDIF}
    -
     const
       EditorCommandStrs: array[0..149] of TIdentMapEntry = (
         (Value: ecNone; Name: 'ecNone'),
    @@ -765,7 +747,6 @@
         inherited Assign(Source);
     end;
     
    -{$IFDEF SYN_COMPILER_3_UP}
     function TSynEditKeyStroke.GetDisplayName: string;
     begin
       Result := EditorCommandToCodeString(Command) + ' - ' + ShortCutToText(ShortCut);
    @@ -774,7 +755,6 @@
       if Result = '' then
         Result := inherited GetDisplayName;
     end;
    -{$ENDIF}
     
     function TSynEditKeyStroke.GetShortCut: TShortCut;
     begin
    @@ -964,10 +944,6 @@
     var
       i: integer;
       CurComboStart: TSynEditKeyStrokes;
    -{$IFNDEF SYN_COMPILER_3_UP}
    -const
    -  VK_ACCEPT = $30;
    -{$ENDIF}
     begin
       (* if FinishComboOnly=True then ComboStart are the KeyStrokes, which have the
          already received keys.
    @@ -1089,12 +1065,10 @@
       Result := TSynEditKeyStroke(inherited GetItem(Index));
     end;
     
    -{$IFDEF SYN_COMPILER_3_UP}
     function TSynEditKeyStrokes.GetOwner: TPersistent;
     begin
       Result := FOwner;
     end;
    -{$ENDIF}
     
     {begin}                                                                         //ac 2000-07-05
     procedure TSynEditKeyStrokes.LoadFromStream(AStream: TStream);
    @@ -1254,8 +1228,8 @@
     
     initialization
       RegisterIntegerConsts(TypeInfo(TSynEditorCommand),
    -                        {$IFDEF FPC}@{$ENDIF}IdentToEditorCommand,
    -                        {$IFDEF FPC}@{$ENDIF}EditorCommandToIdent);
    +                        @IdentToEditorCommand,
    +                        @EditorCommandToIdent);
     
     finalization
       ExtraIdentToIntFn := nil;
    Index: syneditlines.pas
    ===================================================================
    --- syneditlines.pas	(revision 37490)
    +++ syneditlines.pas	(working copy)
    @@ -59,14 +59,12 @@
         function GetTextChangeStamp: int64;
       protected
         function Get(Index: integer): string; override;
    -    function GetCapacity: integer;
    -      {$IFDEF SYN_COMPILER_3_UP} override; {$ENDIF}                             //mh 2000-10-18
    +    function GetCapacity: integer; override;
         function GetCount: integer; override;
         function GetObject(Index: integer): TObject; override;
         procedure Put(Index: integer; const S: string); override;
         procedure PutObject(Index: integer; AObject: TObject); override;
    -    procedure SetCapacity(NewCapacity: integer);
    -                                   {$IFDEF SYN_COMPILER_3_UP} override; {$ENDIF}
    +    procedure SetCapacity(NewCapacity: integer); override;
         procedure SetUpdateState(Updating: Boolean); override;
       public
         constructor Create(ATextBuffer: TSynEditStringList; OnSaved: TSavedNotification);
    Index: syneditmarks.pp
    ===================================================================
    --- syneditmarks.pp	(revision 37490)
    +++ syneditmarks.pp	(working copy)
    @@ -615,7 +615,7 @@
       if PrimaryOrder = smsoUnsorted then
         exit;
     
    -  FMarks.Sort({$IFDEF FPC}@{$ENDIF}CompareSynEditMarks);
    +  FMarks.Sort(@CompareSynEditMarks);
     end;
     
     function TSynEditMarkLine.Add(Item: TSynEditMark): Integer;
    Index: syneditmarkupctrlmouselink.pp
    ===================================================================
    --- syneditmarkupctrlmouselink.pp	(revision 37490)
    +++ syneditmarkupctrlmouselink.pp	(working copy)
    @@ -211,8 +211,8 @@
     destructor TSynEditMarkupCtrlMouseLink.Destroy;
     begin
       if Lines <> nil then begin;
    -    Lines.RemoveChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LinesChanged);
    -    Lines.RemoveChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LinesChanged);
    +    Lines.RemoveChangeHandler(senrLineCount, @LinesChanged);
    +    Lines.RemoveChangeHandler(senrLineChange, @LinesChanged);
       end;
       inherited Destroy;
     end;
    @@ -221,8 +221,8 @@
     begin
       inherited SetLines(AValue);
       if Lines <> nil then begin;
    -    Lines.AddChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LinesChanged);
    -    Lines.AddChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LinesChanged);
    +    Lines.AddChangeHandler(senrLineCount, @LinesChanged);
    +    Lines.AddChangeHandler(senrLineChange, @LinesChanged);
       end;
     end;
     
    Index: syneditmarkuphighall.pp
    ===================================================================
    --- syneditmarkuphighall.pp	(revision 37490)
    +++ syneditmarkuphighall.pp	(working copy)
    @@ -586,10 +586,10 @@
     procedure TSynEditMarkupHighlightAllCaret.SetSelection(const AValue: TSynEditSelection);
     begin
       if Assigned(FSelection) then
    -    FSelection.RemoveChangeHandler({$IFDEF FPC}@{$ENDIF}SelectionChanged);
    +    FSelection.RemoveChangeHandler(@SelectionChanged);
       FSelection := AValue;
       if Assigned(FSelection) then
    -    FSelection.AddChangeHandler({$IFDEF FPC}@{$ENDIF}SelectionChanged);
    +    FSelection.AddChangeHandler(@SelectionChanged);
     end;
     
     procedure TSynEditMarkupHighlightAllCaret.SetTrim(const AValue: Boolean);
    @@ -738,14 +738,14 @@
       FTimer := TTimer.Create(nil);
       FTimer.Enabled := False;
       FTimer.Interval := FWaitTime;
    -  FTimer.OnTimer := {$IFDEF FPC}@{$ENDIF}ScrollTimerHandler;
    +  FTimer.OnTimer := @ScrollTimerHandler;
       MarkupInfo.Clear;
     end;
     
     destructor TSynEditMarkupHighlightAllCaret.Destroy;
     begin
       if Assigned(FSelection) then
    -    FSelection.RemoveChangeHandler({$IFDEF FPC}@{$ENDIF}SelectionChanged);
    +    FSelection.RemoveChangeHandler(@SelectionChanged);
       FreeAndNil(FTimer);
       inherited Destroy;
     end;
    Index: syneditmiscclasses.pp
    ===================================================================
    --- syneditmiscclasses.pp	(revision 37490)
    +++ syneditmiscclasses.pp	(working copy)
    @@ -1091,7 +1091,7 @@
     
     procedure TSynObjectList.Sort;
     begin
    -  FList.Sort({$IFDEF FPC}@{$ENDIF}CompareSynObjectListItems);
    +  FList.Sort(@CompareSynObjectListItems);
     end;
     
     function TSynObjectList.Add(AnItem: TSynObjectListItem): Integer;
    Index: syneditplugins.pas
    ===================================================================
    --- syneditplugins.pas	(revision 37490)
    +++ syneditplugins.pas	(working copy)
    @@ -87,7 +87,7 @@
           aCommandID: TSynEditorCommand; aShortCut: TShortCut);
         procedure OnCommand(Sender: TObject; AfterProcessing: boolean;
           var Handled: boolean; var Command: TSynEditorCommand;
    -      var aChar: {$IFDEF SYN_LAZARUS}TUTF8Char{$ELSE}Char{$ENDIF};
    +      var aChar: TUTF8Char;
           Data: pointer; HandlerData: pointer); virtual; abstract;
       end;
     
    @@ -133,7 +133,7 @@
         procedure SetCurrentString(const Value: String); virtual;
         procedure OnCommand(Sender: TObject; AfterProcessing: boolean;
           var Handled: boolean; var Command: TSynEditorCommand;
    -      var aChar: {$IFDEF SYN_LAZARUS}TUTF8Char{$ELSE}Char{$ENDIF};
    +      var aChar: TUTF8Char;
           Data: pointer; HandlerData: pointer); override;
         procedure DoExecute; override;
         procedure DoAccept; override;
    @@ -303,7 +303,7 @@
       iKeystroke.Command := aCommandID;
     
       if AFlags <> [] then
    -    aEditor.RegisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnCommand, Self, AFlags);
    +    aEditor.RegisterCommandHandler( @OnCommand, Self, AFlags);
     end;
     
     procedure TAbstractSynHookerPlugin.UnHookEditor(aEditor: TCustomSynEdit;
    @@ -311,7 +311,7 @@
     var
       iIndex: integer;
     begin
    -  aEditor.UnregisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnCommand );
    +  aEditor.UnregisterCommandHandler( @OnCommand );
       iIndex := TCustomSynEdit(aEditor).Keystrokes.FindShortcut( aShortCut );
       if (iIndex >= 0) and
         (TCustomSynEdit(aEditor).Keystrokes[iIndex].Command = aCommandID) then
    @@ -463,7 +463,7 @@
     procedure TAbstractSynCompletion.OnCommand(Sender: TObject;
       AfterProcessing: boolean; var Handled: boolean;
       var Command: TSynEditorCommand;
    -  var aChar: {$IFDEF SYN_LAZARUS}TUTF8Char{$ELSE}Char{$ENDIF};
    +  var aChar: TUTF8Char;
       Data, HandlerData: pointer);
     var
       iString: String;
    @@ -490,15 +490,9 @@
                   end
                   else
                   begin
    -                {$IFDEF SYN_LAZARUS}
    -                if (length(aChar)<>1)
    +                if (length(aChar) <> 1)
                     or (not (aChar[1] in CurrentEditor.IdentChars)) then
                       Accept;
    -                {$ELSE}
    -                if not (aChar in CurrentEditor.IdentChars) then
    -                  Accept;
    -                {don't handle the char}
    -                {$ENDIF}
                   end;
                 ecLineBreak:
                 begin
    Index: syneditpointclasses.pas
    ===================================================================
    --- syneditpointclasses.pas	(revision 37490)
    +++ syneditpointclasses.pas	(working copy)
    @@ -756,7 +756,7 @@
       FIsSettingText := False;
       if FHookedLines then begin
         FLines.AddEditHandler(@DoLinesEdited);
    -    FLines.AddChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineChanged);
    +    FLines.AddChangeHandler(senrLineChange, @LineChanged);
       end;
     end;
     
    @@ -765,7 +765,7 @@
       FreeAndNil(FInternalCaret);
       if FHookedLines then begin
         FLines.RemoveEditHandler(@DoLinesEdited);
    -    FLines.RemoveChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineChanged);
    +    FLines.RemoveChangeHandler(senrLineChange, @LineChanged);
       end;
       inherited Destroy;
     end;
    @@ -1147,15 +1147,7 @@
               r := FInternalCaret.CharPos;
               // swap l, r if needed
               if l > r then
    -          {$IFDEF SYN_COMPILER_3_UP}
                 SwapInt(l, r);
    -          {$ELSE}
    -          begin
    -            y := l;
    -            l := r;
    -            r := y;
    -          end;
    -          {$ENDIF}
               for y := BB.Y to BE.Y do begin
                 FInternalCaret.LineCharPos := Point(l, y);
                 xb := FInternalCaret.BytePos;
    Index: syneditregexsearch.pas
    ===================================================================
    --- syneditregexsearch.pas	(revision 37490)
    +++ syneditregexsearch.pas	(working copy)
    @@ -66,15 +66,6 @@
     
     implementation
     
    -{$IFNDEF SYN_LAZARUS}
    -uses
    -{$IFDEF SYN_CLX}
    -  QConsts;
    -{$ELSE}
    -  Consts;
    -{$ENDIF}
    -{$ENDIF}
    -
     { TSynEditRegexSearch }
     
     constructor TSynEditRegexSearch.Create(AOwner: TComponent);
    Index: syneditsearch.pp
    ===================================================================
    --- syneditsearch.pp	(revision 37490)
    +++ syneditsearch.pp	(working copy)
    @@ -42,21 +42,14 @@
     interface
     
     uses
    -  Classes
    -  {$IFDEF SYN_LAZARUS}
    -  , LCLProc, SynRegExpr, SynEditMiscProcs, SynEditTypes
    -  {$ENDIF};
    +  Classes, LCLProc, SynRegExpr, SynEditMiscProcs, SynEditTypes;
     
     procedure MakeCompTable;
    -{$IFNDEF SYN_LAZARUS}
    -procedure MakeDelimiterTable;
    -{$ENDIF}
     
     type
       TByteArray256 = array[#0..#255] of Byte;
       PByteArray256 = ^TByteArray256;
     
    -  {$IFDEF SYN_LAZARUS}
       TSynEditSearchResult = class
       public
         Start: integer;
    @@ -64,7 +57,6 @@
         Replace: string;
         constructor Create(NewStart, NewLen: integer; const NewReplace: string);
       end;
    -  {$ENDIF}
     
       { TSynEditSearch }
     
    @@ -83,7 +75,6 @@
         fWhole: Boolean;
         fResults: TList;
         fShiftInitialized: boolean;
    -    {$IFDEF SYN_LAZARUS}
         FIdentChars: TSynIdentChars;
         FoundLen: integer;
         RegExprEngine : TRegExpr;
    @@ -95,7 +86,6 @@
         CompTable: PByteArray256;
         function GetResultLen(Index: integer): integer;
         procedure SetRegExpr(const NewValue: boolean);
    -    {$ENDIF}
         function GetFinished: Boolean;
         function GetResult(Index: integer): integer;
         function GetResultCount: integer;
    @@ -111,10 +101,8 @@
         function FindFirstUTF8(const NewText: string): Integer;
         procedure FixResults(First, Delta: integer);
         function Next: Integer;
    -    {$IFDEF SYN_LAZARUS}
         function FindNextOne(Lines: TStrings; StartPos, EndPos: TPoint;
                              out FoundStartPos, FoundEndPos: TPoint; ASupportUnicodeCase: Boolean=False): boolean;
    -    {$ENDIF}
         property Count: Integer read fCount write fCount;
         property Finished: Boolean read GetFinished;
         property Pattern: string read Pat write SetPattern;// search for this text
    @@ -122,7 +110,6 @@
         property ResultCount: integer read GetResultCount;
         property Sensitive: Boolean read fSensitive write SetSensitive;// case sensitive
         property Whole: Boolean read fWhole write fWhole;// whole words
    -    {$IFDEF SYN_LAZARUS}
       public
         procedure ClearResults;
         procedure ResetIdentChars;
    @@ -135,32 +122,21 @@
         property Replacement: string read fReplacement write fReplacement;
         property Backwards: boolean read FBackwards write FBackwards;
         property IdentChars: TSynIdentChars read FIdentChars write FIdentChars;
    -    {$ENDIF}
       end;
     
    -{$IFDEF SYN_LAZARUS}
     function GetLineCountOfString(const aText: string): integer;
     function GetLastLineLength(const aText: string): integer;
     function AdjustPositionAfterReplace(const p, ReplaceStart, ReplaceEnd: TPoint;
       const AReplacement: string): TPoint;
    -{$ENDIF SYN_LAZARUS}
     
     implementation
     
     uses
    -  {$IFDEF SYN_LAZARUS}
    -  LCLIntf, LCLType,
    -  {$ELSE}
    -  Windows,
    -  {$ENDIF}
    -  SysUtils;
    +  LCLIntf, LCLType, SysUtils;
     
     var
       CompTableSensitive: TByteArray256;
       CompTableNoneSensitive: TByteArray256;
    -  {$IFNDEF SYN_LAZARUS}
    -  DelimTable: array[#0..#255] of boolean;
    -  {$ENDIF}
     
     procedure MakeCompTable;
     var
    @@ -170,16 +146,6 @@
       for I := #0 to #255 do CompTableNoneSensitive[I] := ord(uppercase(I)[1]);
     end;
     
    -{$IFNDEF SYN_LAZARUS}
    -procedure MakeDelimiterTable;
    -var
    -  c: char;
    -begin
    -  for c := #0 to #255 do DelimTable[c] := not IsCharAlphaNumeric(c);
    -end;
    -{$ENDIF}
    -
    -{$IFDEF SYN_LAZARUS}
     function GetLineCountOfString(const aText: string): integer;
     // returns the number of line separators
     var
    @@ -249,7 +215,6 @@
         end;
       end;
     end;
    -{$ENDIF}
     
     { TSynEditSearch }
     
    @@ -259,10 +224,8 @@
       fSensitive := False;
       CompTable := @CompTableNoneSensitive;
       fResults := TList.Create;
    -  {$IFDEF SYN_LAZARUS}
       RegExprEngine:=TRegExpr.Create;
       ResetIdentChars;
    -  {$ENDIF}
     end;
     
     function TSynEditSearch.GetFinished: Boolean;
    @@ -274,11 +237,7 @@
     begin
       Result := 0;
       if (Index >= 0) and (Index < fResults.Count) then
    -    {$IFDEF SYN_LAZARUS}
         Result := TSynEditSearchResult(fResults[Index]).Start;
    -    {$ELSE}
    -    Result := integer(fResults[Index]);
    -    {$ENDIF}
     end;
     
     function TSynEditSearch.GetResultCount: integer;
    @@ -293,7 +252,6 @@
       if (Delta <> 0) and (fResults.Count > 0) then begin
         i := Pred(fResults.Count);
         while i >= 0 do begin
    -      {$IFDEF SYN_LAZARUS}
           if GetResult(i)>=First then begin
             dec(TSynEditSearchResult(fResults[i]).Start,Delta);
             if GetResult(i)<First then begin
    @@ -302,10 +260,6 @@
               fResults.Delete(i);
             end;
           end;
    -      {$ELSE}
    -      if GetResult(i) <= First then break;
    -      fResults[i] := pointer(integer(fResults[i]) - Delta);
    -      {$ENDIF}
           Dec(i);
         end;
       end;
    @@ -334,13 +288,8 @@
       Test: PChar;
     begin
       Test := Run - PatLen;
    -  {$IFDEF SYN_LAZARUS}
       Result := ((Test < Origin) or (not (Test[0] in FIdentChars))) and
         ((Run >= TheEnd) or (not (Run[1] in FIdentChars)));
    -  {$ELSE}
    -  Result := ((Test < Origin) or DelimTable[Test[0]]) and
    -    ((Run >= TheEnd) or DelimTable[Run[1]]);
    -  {$ENDIF}
     end;
     
     function TSynEditSearch.Next: Integer;
    @@ -349,9 +298,7 @@
       J: PChar;
     begin
       Result := 0;
    -  {$IFDEF SYN_LAZARUS}
       if not fRegExpr then begin
    -  {$ENDIF}
         inc(Run, PatLen);
         FoundLen:=PatLen;
         while Run < TheEnd do
    @@ -385,7 +332,6 @@
     {end}                                                                           //mh 2000-08-29
           end;
         end;
    -  {$IFDEF SYN_LAZARUS}
       end else begin
         // regular expressions
         inc(Run);
    @@ -398,11 +344,9 @@
           FoundLen:=0;
           Run:=TheEnd;
         end;
    -  {$ENDIF}
       end;
     end;
     
    -{$IFDEF SYN_LAZARUS}
     // ASupportUnicodeCase -> If we will support Unicode lowercase/uppercase
     //   by default this is off to increase the speed of the routine
     function TSynEditSearch.FindNextOne(Lines: TStrings; StartPos, EndPos: TPoint;
    @@ -975,14 +919,11 @@
           inc(y);
       until (y<MinY) or (y>MaxY);
     end;
    -{$ENDIF}
     
     destructor TSynEditSearch.Destroy;
     begin
    -  {$IFDEF SYN_LAZARUS}
       ClearResults;
       RegExprEngine.Free;
    -  {$ENDIF}
       fResults.Free;
       inherited Destroy;
     end;
    @@ -992,9 +933,7 @@
       if Pat <> Value then begin
         Pat := Value;
         fShiftInitialized := FALSE;
    -    {$IFDEF SYN_LAZARUS}
         PatLen:=length(Pat);
    -    {$ENDIF}
       end;
       fCount := 0;
     end;
    @@ -1007,38 +946,25 @@
         then CompTable := @CompTableSensitive
         else CompTable := @CompTableNoneSensitive;
         fShiftInitialized := FALSE;
    -    {$IFDEF SYN_LAZARUS}
         RegExprEngine.ModifierI:=not fSensitive;
    -    {$ENDIF}
       end;
     end;
     
     function TSynEditSearch.FindAll(const NewText: string): integer;
     var
       Found: integer;
    -  {$IFDEF SYN_LAZARUS}
       TheReplace: string;
    -  {$ENDIF}
     begin
       if not fShiftInitialized then
         InitShiftTable;
    -  {$IFDEF SYN_LAZARUS}
       ClearResults;
    -  {$ELSE}
    -  // never shrink Capacity
    -  fResults.Count := 0;
    -  {$ENDIF}
       Found := FindFirstUTF8(NewText);
       while Found > 0 do
       begin
    -    {$IFDEF SYN_LAZARUS}
         TheReplace:=Replacement;
         if fRegExpr then
           TheReplace:=RegExprEngine.Substitute(Replacement);
         fResults.Add(TSynEditSearchResult.Create(Found,FoundLen,TheReplace));
    -    {$ELSE}
    -    fResults.Add(pointer(Found));
    -    {$ENDIF}
         Found := Next;
       end;
       Result := fResults.Count;
    @@ -1049,14 +975,12 @@
       Result := 0;
       fTextLen := Length(NewText);
       if fTextLen=0 then exit;
    -  {$IFDEF SYN_LAZARUS}
       if fRegExpr then begin
         RegExprEngine.ModifierI:=not fSensitive;
         RegExprEngine.ModifierM:=fRegExprMultiLine;
         RegExprEngine.Expression:=Pat;
         RegExprEngine.InputString:=NewText;
       end;
    -  {$ENDIF}
       if (fTextLen >= PatLen) or fRegExpr then
       begin
         Origin := PChar(NewText);
    @@ -1066,7 +990,6 @@
       end;
     end;
     
    -{$IFDEF SYN_LAZARUS}
     procedure TSynEditSearch.ClearResults;
     var
       i: Integer;
    @@ -1108,7 +1031,6 @@
       fRegExpr:=NewValue;
     end;
     
    -
     { TSynEditSearchResult }
     
     constructor TSynEditSearchResult.Create(NewStart, NewLen: integer;
    @@ -1119,13 +1041,7 @@
       Replace:=NewReplace;
     end;
     
    -{$ENDIF}
    -
     initialization
       MakeCompTable;
    -  {$IFNDEF SYN_LAZARUS}
    -  MakeDelimiterTable;
    -  {$ENDIF}
    -
     end.
     
    Index: synedittextbase.pas
    ===================================================================
    --- synedittextbase.pas	(revision 37490)
    +++ synedittextbase.pas	(working copy)
    @@ -231,15 +231,7 @@
     
     implementation
     
    -{$IFNDEF FPC}
    -  {$IFDEF SYN_COMPILER_3_UP}
    -resourcestring
    -  {$ELSE}
     const
    -  {$ENDIF}
    -{$ELSE}
    -const
    -{$ENDIF}
       SListIndexOutOfBounds = 'Invalid stringlist index %d';
     
     procedure ListIndexOutOfBounds(Index: integer);
    Index: synedittextbuffer.pp
    ===================================================================
    --- synedittextbuffer.pp	(revision 37490)
    +++ synedittextbuffer.pp	(working copy)
    @@ -181,15 +181,13 @@
         function GetRange(Index: Pointer): TSynManagedStorageMem; override;
         procedure PutRange(Index: Pointer; const ARange: TSynManagedStorageMem); override;
         function Get(Index: integer): string; override;
    -    function GetCapacity: integer;
    -      {$IFDEF SYN_COMPILER_3_UP} override; {$ENDIF}                             //mh 2000-10-18
    +    function GetCapacity: integer; override;
         function GetCount: integer; override;
         procedure SetCount(const AValue: Integer);
         function GetObject(Index: integer): TObject; override;
         procedure Put(Index: integer; const S: string); override;
         procedure PutObject(Index: integer; AObject: TObject); override;
    -    procedure SetCapacity(NewCapacity: integer);
    -      {$IFDEF SYN_COMPILER_3_UP} override; {$ENDIF}                             //mh 2000-10-18
    +    procedure SetCapacity(NewCapacity: integer); override;
         procedure SetUpdateState(Updating: Boolean; Sender: TObject); override;
     
         procedure UndoEditLinesDelete(LogY, ACount: Integer);
    @@ -254,15 +252,7 @@
     
     implementation
     
    -{$IFNDEF FPC}
    -  {$IFDEF SYN_COMPILER_3_UP}
    -resourcestring
    -  {$ELSE}
     const
    -  {$ENDIF}
    -{$ELSE}
    -const
    -{$ENDIF}
       SListIndexOutOfBounds = 'Invalid stringlist index %d';
     
     type
    @@ -550,9 +540,9 @@
     
       FAttachedSynEditList := TFPList.Create;
       FUndoList := TSynEditUndoList.Create;
    -  fUndoList.OnAddedUndo := {$IFDEF FPC}@{$ENDIF}UndoRedoAdded;
    +  fUndoList.OnAddedUndo := @UndoRedoAdded;
       FRedoList := TSynEditUndoList.Create;
    -  fRedoList.OnAddedUndo := {$IFDEF FPC}@{$ENDIF}UndoRedoAdded;
    +  fRedoList.OnAddedUndo := @UndoRedoAdded;
       FIsUndoing := False;
       FIsRedoing := False;
       FModified := False;
    Index: synedittexttabexpander.pas
    ===================================================================
    --- synedittexttabexpander.pas	(revision 37490)
    +++ synedittexttabexpander.pas	(working copy)
    @@ -138,9 +138,9 @@
       inherited Create(ASynStringSource);
       TextBufferChanged(nil);
       TabWidth := 8;
    -  fSynStrings.AddChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
    -  fSynStrings.AddChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
    -  fSynStrings.AddNotifyHandler(senrTextBufferChanged, {$IFDEF FPC}@{$ENDIF}TextBufferChanged);
    +  fSynStrings.AddChangeHandler(senrLineCount, @LineCountChanged);
    +  fSynStrings.AddChangeHandler(senrLineChange, @LineCountChanged);
    +  fSynStrings.AddNotifyHandler(senrTextBufferChanged, @TextBufferChanged);
     end;
     
     destructor TSynEditStringTabExpander.Destroy;
    @@ -155,9 +155,9 @@
           Data.Free;
         end;
       end;
    -  fSynStrings.RemoveChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
    -  fSynStrings.RemoveChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
    -  fSynStrings.RemoveNotifyHandler(senrTextBufferChanged, {$IFDEF FPC}@{$ENDIF}TextBufferChanged);
    +  fSynStrings.RemoveChangeHandler(senrLineChange, @LineCountChanged);
    +  fSynStrings.RemoveChangeHandler(senrLineCount, @LineCountChanged);
    +  fSynStrings.RemoveNotifyHandler(senrTextBufferChanged, @TextBufferChanged);
       inherited Destroy;
     end;
     
    Index: synedittexttrimmer.pas
    ===================================================================
    --- synedittexttrimmer.pas	(revision 37490)
    +++ synedittexttrimmer.pas	(working copy)
    @@ -417,16 +417,16 @@
       FLineEdited := False;
       FTrimType := settLeaveLine;
       Inherited Create(ASynStringSource);
    -  fSynStrings.AddChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
    -  fSynStrings.AddChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LinesChanged);
    -  fSynStrings.AddNotifyHandler(senrCleared, {$IFDEF FPC}@{$ENDIF}ListCleared);
    +  fSynStrings.AddChangeHandler(senrLineCount, @LineCountChanged);
    +  fSynStrings.AddChangeHandler(senrLineChange, @LinesChanged);
    +  fSynStrings.AddNotifyHandler(senrCleared, @ListCleared);
     end;
     
     destructor TSynEditStringTrimmingList.Destroy;
     begin
    -  fSynStrings.RemoveChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
    -  fSynStrings.RemoveChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LinesChanged);
    -  fSynStrings.RemoveNotifyHandler(senrCleared, {$IFDEF FPC}@{$ENDIF}ListCleared);
    +  fSynStrings.RemoveChangeHandler(senrLineCount, @LineCountChanged);
    +  fSynStrings.RemoveChangeHandler(senrLineChange, @LinesChanged);
    +  fSynStrings.RemoveNotifyHandler(senrCleared, @ListCleared);
       fCaret.RemoveChangeHandler(@DoCaretChanged);
       FreeAndNil(FDisplayView);
       FreeAndNil(fLockList);
    Index: synedittypes.pp
    ===================================================================
    --- synedittypes.pp	(revision 37490)
    +++ synedittypes.pp	(working copy)
    @@ -71,9 +71,9 @@
       PSynSelectionMode = ^TSynSelectionMode;
       // to be binary (clipboard) compatible with other (Delphi compiled) synedits
       // use {$PACKENUM 1}
    -{$IFDEF SYN_LAZARUS}{$PACKENUM 1}{$ENDIF SYN_LAZARUS}
    +{$PACKENUM 1}
       TSynSelectionMode = (smNormal, smLine, smColumn, smCurrent);
    -{$IFDEF SYN_LAZARUS}{$PACKENUM 4}{$ENDIF SYN_LAZARUS}
    +{$PACKENUM 4}
     
       TSynSearchOption =
         ( ssoMatchCase, ssoWholeWord,
    @@ -88,9 +88,7 @@
         );
       TSynSearchOptions = set of TSynSearchOption;
     
    -  {$IFDEF SYN_LAZARUS}
       TSynEditRange = pointer;
    -  {$ENDIF}
     
       TSynStatusChange = (scCaretX, scCaretY,
         scLeftChar, scTopLine, scLinesInWindow,
    Index: synexporthtml.pas
    ===================================================================
    --- synexporthtml.pas	(revision 37490)
    +++ synexporthtml.pas	(working copy)
    @@ -45,17 +45,7 @@
     
     uses
       Classes,
    -{$IFDEF SYN_CLX}
    -  Qt,
    -  QGraphics,
    -{$ELSE}
    -  {$IFDEF SYN_LAZARUS}
       LCLIntf, LCLType, Graphics, ClipBrd,
    -  {$ELSE}
    -  Windows,
    -  Graphics,
    -  {$ENDIF}
    -{$ENDIF}
       SynEditExport;
     
     type
    @@ -108,9 +98,7 @@
     begin
       inherited Create(AOwner);
       {**************}
    -  {$IFNDEF SYN_CLX}
       fClipboardFormat := RegisterClipboardFormat(CF_HTML);
    -  {$ENDIF}
       fFontSize := fs03;
       fDefaultFilter := SYNS_FilterHTML;
       // setup array of chars to be replaced
    @@ -225,25 +213,19 @@
       RGBColor := ColorToRGB(AColor);
       Result := '"#000000"';
      {****************}
    -{$IFNDEF SYN_CLX}
       RGBValue := GetRValue(RGBColor);
    -{$ENDIF}
       if RGBValue > 0 then begin
         Result[3] := Digits[RGBValue shr  4];
         Result[4] := Digits[RGBValue and 15];
       end;
      {****************}
    -{$IFNDEF SYN_CLX}
       RGBValue := GetGValue(RGBColor);
    -{$ENDIF}
       if RGBValue > 0 then begin
         Result[5] := Digits[RGBValue shr  4];
         Result[6] := Digits[RGBValue and 15];
       end;
      {****************}
    -{$IFNDEF SYN_CLX}
       RGBValue := GetBValue(RGBColor);
    -{$ENDIF}
       if RGBValue > 0 then begin
         Result[7] := Digits[RGBValue shr  4];
         Result[8] := Digits[RGBValue and 15];
    Index: syngutter.pp
    ===================================================================
    --- syngutter.pp	(revision 37490)
    +++ syngutter.pp	(working copy)
    @@ -253,9 +253,7 @@
     begin
       Canvas.Brush.Color := Color;
       dc := Canvas.Handle;
    -  {$IFDEF SYN_LAZARUS}
       LCLIntf.SetBkColor(dc, TColorRef(Canvas.Brush.Color));
    -  {$ENDIF}
     
       // Clear all
       TextDrawer.BeginDrawing(dc);
    Index: syngutterbase.pp
    ===================================================================
    --- syngutterbase.pp	(revision 37490)
    +++ syngutterbase.pp	(working copy)
    @@ -513,7 +513,7 @@
       if FGutterPartList <> nil then
         FreeAndNil(FGutterPartList);
       FGutterPartList := APartList;
    -  FGutterPartList.OnChange := {$IFDEF FPC}@{$ENDIF}DoChange;
    +  FGutterPartList.OnChange := @DoChange;
     end;
     
     procedure TSynGutterBase.Clear;
    @@ -625,7 +625,7 @@
       FMarkupInfo.Background := clBtnFace;
       FMarkupInfo.Foreground := clNone;
       FMarkupInfo.FrameColor := clNone;
    -  FMarkupInfo.OnChange := {$IFDEF FPC}@{$ENDIF}DoChange;
    +  FMarkupInfo.OnChange := @DoChange;
     
       FMouseActions := CreateMouseActions;
     
    @@ -739,8 +739,8 @@
     
     procedure TSynGutterPartListBase.RegisterItem(AnItem: TSynObjectListItem);
     begin
    -  TSynGutterPartBase(AnItem).OnChange := {$IFDEF FPC}@{$ENDIF}DoChange;
    -  TSynGutterPartBase(AnItem).OnGutterClick := {$IFDEF FPC}@{$ENDIF}Gutter.DoDefaultGutterClick;
    +  TSynGutterPartBase(AnItem).OnChange := @DoChange;
    +  TSynGutterPartBase(AnItem).OnGutterClick := @Gutter.DoDefaultGutterClick;
       inherited RegisterItem(AnItem);
     end;
     
    Index: synguttercodefolding.pp
    ===================================================================
    --- synguttercodefolding.pp	(revision 37490)
    +++ synguttercodefolding.pp	(working copy)
    @@ -248,7 +248,7 @@
       function AddPopUpItem(const ACaption: String): TMenuItem;
       begin
         Result := TMenuItem.Create(APopUp);
    -    Result.OnClick := {$IFDEF FPC}@{$ENDIF}PopClicked;
    +    Result.OnClick := @PopClicked;
         Result.Caption := ACaption;
         Result.GlyphShowMode := gsmAlways;
         if FReversePopMenuOrder then
    Index: syngutterlinenumber.pp
    ===================================================================
    --- syngutterlinenumber.pp	(revision 37490)
    +++ syngutterlinenumber.pp	(working copy)
    @@ -75,16 +75,16 @@
     begin
       inherited Init;
       FTextDrawer := Gutter.TextDrawer;
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod({$IFDEF FPC}@{$ENDIF}LineCountChanged));
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
    -  FTextDrawer.RegisterOnFontChangeHandler({$IFDEF FPC}@{$ENDIF}FontChanged);
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod(@LineCountChanged));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
    +  FTextDrawer.RegisterOnFontChangeHandler(@FontChanged);
       LineCountchanged(nil, 0, 0);
     end;
     
     destructor TSynGutterLineNumber.Destroy;
     begin
       TSynEditStringList(TextBuffer).RemoveHanlders(self);
    -  FTextDrawer.UnRegisterOnFontChangeHandler({$IFDEF FPC}@{$ENDIF}FontChanged);
    +  FTextDrawer.UnRegisterOnFontChangeHandler(@FontChanged);
       inherited Destroy;
     end;
     
    @@ -195,8 +195,8 @@
     procedure TSynGutterLineNumber.BufferChanged(Sender: TObject);
     begin
       TSynEditStringList(Sender).RemoveHanlders(self);
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod({$IFDEF FPC}@{$ENDIF}LineCountChanged));
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod(@LineCountChanged));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
       LineCountChanged(nil, 0, 0);
     end;
     
    Index: syngutterlineoverview.pp
    ===================================================================
    --- syngutterlineoverview.pp	(revision 37490)
    +++ syngutterlineoverview.pp	(working copy)
    @@ -412,7 +412,7 @@
     begin
       FNeedSort := FLockCount > 0;
       if FLockCount = 0 then
    -    Sort({$IFDEF FPC}@{$ENDIF}SynGutterLOvProviderLineMarksSort);
    +    Sort(@SynGutterLOvProviderLineMarksSort);
     end;
     
     function SynGutterLOvProviderLineMarksSortByLine(Item1, Item2: Pointer): Integer;
    @@ -424,7 +424,7 @@
     begin
       if FLockCount > 0 then
         FNeedSort := True;
    -  Sort({$IFDEF FPC}@{$ENDIF}SynGutterLOvProviderLineMarksSortByLine);
    +  Sort(@SynGutterLOvProviderLineMarksSortByLine);
     end;
     
     function TSynGutterLOvLineMarks.Compare(Other: TSynGutterLOvLineMarks): Integer;
    @@ -489,7 +489,7 @@
     
     procedure TSynGutterLOvLineMarksList.ReSort;
     begin
    -  Sort({$IFDEF FPC}@{$ENDIF}SynGutterLOvProviderLineMarksListSort);
    +  Sort(@SynGutterLOvProviderLineMarksListSort);
     end;
     
     procedure TSynGutterLOvLineMarksList.MarkChanged(Sender: TObject);
    @@ -664,8 +664,8 @@
       i, PixLine: Integer;
       LMarks: TSynGutterLOvLineMarks;
     begin
    -  AMark.OnChange := {$IFDEF FPC}@{$ENDIF}MarkChanged;
    -  AMark.OnDestroy := {$IFDEF FPC}@{$ENDIF}MarkDestroying;
    +  AMark.OnChange := @MarkChanged;
    +  AMark.OnDestroy := @MarkDestroying;
       PixLine := TextLineToPixLine(AMark.Line);
     
       i := IndexForLine(PixLine, True);
    @@ -928,13 +928,13 @@
       inherited;
       FColor := 0;
       Color := $C0C0C0;
    -  TCustomSynEdit(SynEdit).RegisterStatusChangedHandler({$IFDEF FPC}@{$ENDIF}SynStatusChanged,
    +  TCustomSynEdit(SynEdit).RegisterStatusChangedHandler(@SynStatusChanged,
                                                      [scTopLine, scLinesInWindow]);
     end;
     
     destructor TSynGutterLOvProviderCurrentPage.Destroy;
     begin
    -  TCustomSynEdit(SynEdit).UnRegisterStatusChangedHandler({$IFDEF FPC}@{$ENDIF}SynStatusChanged);
    +  TCustomSynEdit(SynEdit).UnRegisterStatusChangedHandler(@SynStatusChanged);
       inherited;
     end;
     
    @@ -1026,9 +1026,9 @@
     procedure TSynGutterLOvProviderModifiedLines.BufferChanged(Sender: TObject);
     begin
       TSynEditStringList(Sender).RemoveHanlders(self);
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineChange, TMethod({$IFDEF FPC}@{$ENDIF}LineChanged));
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod({$IFDEF FPC}@{$ENDIF}LineCountChanged));
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineChange, TMethod(@LineChanged));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod(@LineCountChanged));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
     end;
     
     procedure TSynGutterLOvProviderModifiedLines.LineChanged(Sender: TSynEditStrings;
    @@ -1063,10 +1063,10 @@
     constructor TSynGutterLOvProviderModifiedLines.Create(AOwner: TComponent);
     begin
       inherited Create(AOwner);
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineChange, TMethod({$IFDEF FPC}@{$ENDIF}LineChanged));
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod({$IFDEF FPC}@{$ENDIF}LineCountChanged));
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
    -  TCustomSynEdit(SynEdit).RegisterStatusChangedHandler({$IFDEF FPC}@{$ENDIF}SynStatusChanged, [scModified]);
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineChange, TMethod(@LineChanged));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod(@LineCountChanged));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
    +  TCustomSynEdit(SynEdit).RegisterStatusChangedHandler(@SynStatusChanged, [scModified]);
       FFirstTextLineChanged := -1;
       FLastTextLineChanged := -1;
       Color := clYellow;
    @@ -1076,7 +1076,7 @@
     destructor TSynGutterLOvProviderModifiedLines.Destroy;
     begin
       TSynEditStringList(TextBuffer).RemoveHanlders(self);
    -  TCustomSynEdit(SynEdit).UnRegisterStatusChangedHandler({$IFDEF FPC}@{$ENDIF}SynStatusChanged);
    +  TCustomSynEdit(SynEdit).UnRegisterStatusChangedHandler(@SynStatusChanged);
       inherited Destroy;
     end;
     
    @@ -1155,7 +1155,7 @@
     
     procedure TSynGutterLOvProviderBookmarks.BufferChanging(Sender: TObject);
     begin
    -  TCustomSynEdit(SynEdit).Marks.UnRegisterChangeHandler({$IFDEF FPC}@{$ENDIF}DoMarkChange);
    +  TCustomSynEdit(SynEdit).Marks.UnRegisterChangeHandler(@DoMarkChange);
     end;
     
     procedure TSynGutterLOvProviderBookmarks.BufferChanged(Sender: TObject);
    @@ -1163,9 +1163,9 @@
       i: Integer;
     begin
       TSynEditStringList(Sender).RemoveHanlders(self);
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanging, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanging));
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
    -  TCustomSynEdit(SynEdit).Marks.RegisterChangeHandler({$IFDEF FPC}@{$ENDIF}DoMarkChange,
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanging, TMethod(@BufferChanging));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
    +  TCustomSynEdit(SynEdit).Marks.RegisterChangeHandler(@DoMarkChange,
         [smcrAdded, smcrRemoved, smcrLine, smcrVisible, smcrChanged]);
     
       while FMarkList.Count > 0 do begin
    @@ -1184,10 +1184,10 @@
     begin
       inherited Create(AOwner);
       Color := clBlue;
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanging, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanging));
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanging, TMethod(@BufferChanging));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
     
    -  TCustomSynEdit(SynEdit).Marks.RegisterChangeHandler({$IFDEF FPC}@{$ENDIF}DoMarkChange,
    +  TCustomSynEdit(SynEdit).Marks.RegisterChangeHandler(@DoMarkChange,
         [smcrAdded, smcrRemoved, smcrLine, smcrVisible, smcrChanged]);
     
       for i := 0 to TCustomSynEdit(SynEdit).Marks.Count - 1 do
    @@ -1198,7 +1198,7 @@
     destructor TSynGutterLOvProviderBookmarks.Destroy;
     begin
       TSynEditStringList(TextBuffer).RemoveHanlders(self);
    -  TCustomSynEdit(SynEdit).Marks.UnRegisterChangeHandler({$IFDEF FPC}@{$ENDIF}DoMarkChange);
    +  TCustomSynEdit(SynEdit).Marks.UnRegisterChangeHandler(@DoMarkChange);
       inherited Destroy;
     end;
     
    @@ -1217,12 +1217,12 @@
     procedure TSynGutterLineOverview.Init;
     begin
       inherited Init;
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod({$IFDEF FPC}@{$ENDIF}LineCountChanged));
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod(@LineCountChanged));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
       FWinControl := TSynChildWinControl.Create(Self);
       FWinControl.Parent := SynEdit;
       FWinControl.DoubleBuffered := SynEdit.DoubleBuffered;
    -  FWinControl.OnPaint := {$IFDEF FPC}@{$ENDIF}PaintWinControl;
    +  FWinControl.OnPaint := @PaintWinControl;
     
       FLineMarks := TSynGutterLOvLineMarksList.Create;
       FProviders := TSynGutterLineOverviewProviderList.Create(Self);
    @@ -1252,8 +1252,8 @@
     procedure TSynGutterLineOverview.BufferChanged(Sender: TObject);
     begin
       TSynEditStringList(Sender).RemoveHanlders(self);
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod({$IFDEF FPC}@{$ENDIF}LineCountChanged));
    -  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod(@LineCountChanged));
    +  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
       LineCountChanged(nil, 0, 0);
     end;
     
    Index: synhighlighterbat.pas
    ===================================================================
    --- synhighlighterbat.pas	(revision 37490)
    +++ synhighlighterbat.pas	(working copy)
    @@ -50,11 +50,7 @@
     
     uses
       Classes,
    -  {$IFDEF SYN_CLX}
    -  QControls, QGraphics,
    -  {$ELSE}
       Graphics,
    -  {$ENDIF}
       SynEditTypes, SynEditHighlighter;
     
     type
    @@ -136,7 +132,7 @@
           override;
         function GetEol: Boolean; override;
         function GetTokenID: TtkTokenKind;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer); override;
    +    procedure SetLine(const NewValue: String; LineNumber: Integer); override;
         function GetToken: String; override;
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
         function GetTokenAttribute: TSynHighlighterAttributes; override;
    @@ -414,7 +410,7 @@
       fDefaultFilter := SYNS_FilterBatch;
     end;
     
    -procedure TSynBatSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer);
    +procedure TSynBatSyn.SetLine(const NewValue: String; LineNumber: Integer);
     begin
       inherited;
       fLine := PChar(NewValue);
    @@ -517,10 +513,8 @@
       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;
       //inc(Run);
       //fTokenID := tkUnknown;
    Index: synhighlightercss.pas
    ===================================================================
    --- synhighlightercss.pas	(revision 37490)
    +++ synhighlightercss.pas	(working copy)
    @@ -42,9 +42,7 @@
     The SynHighlighterCss unit provides SynEdit with a Cascading Style Sheets syntax highlighter.
     Thanks to Martin Waldenburg.
     }
    -{$IFNDEF QSYNHIGHLIGHTERCSS}
     unit SynHighlighterCss;
    -{$ENDIF}
     
     {$I SynEdit.inc}
     
    @@ -53,22 +51,10 @@
     uses
     
       SysUtils, Classes,
    -  {$IFDEF SYN_CLX}
    -  Qt, QControls, QGraphics,
    -  QSynEditTypes,
    -  QSynEditHighlighter,
    -  {$ELSE}
    -    {$IFDEF SYN_LAZARUS}
    -     LCLIntf, LCLType,
    -    {$ELSE}
    -     Windows, Messages, Registry,
    -    {$ENDIF}
    +  LCLIntf, LCLType,
       Controls, Graphics,
       SynEditTypes, SynEditHighlighter;
    -  {$ENDIF}
     
    -  
    -
     type
       TtkTokenKind = (tkComment, tkIdentifier, tkKey, tkNull, tkNumber, tkSpace,
         tkString, tkSymbol, tkUnknown);
    @@ -248,11 +234,9 @@
         function GetEol: Boolean; override;
         function GetRange: Pointer; override;
         function GetTokenID: TtkTokenKind;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer); override;
    +    procedure SetLine(const NewValue: String; LineNumber: Integer); override;
         function GetToken: string; override;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
    -    {$ENDIF}
         function GetTokenAttribute: TSynHighlighterAttributes; override;
         function GetTokenKind: integer; override;
         function GetTokenPos: Integer; override;
    @@ -281,11 +265,7 @@
     implementation
     
     uses
    -{$IFDEF SYN_CLX}
    -  QSynEditStrConst;
    -{$ELSE}
       SynEditStrConst;
    -{$ENDIF}
     
     var
       Identifiers: array[#0..#255] of ByteBool;
    @@ -316,125 +296,125 @@
     begin
       pF := PIdentFuncTableFunc(@FIdentFuncTable);
       for I := Low(FIdentFuncTable) to High(FIdentFuncTable) do begin
    -    pF^ :=  {$IFDEF FPC}@{$ENDIF}AltFunc;
    +    pF^ :=  @AltFunc;
         Inc(pF);
       end;
    -  FIdentFuncTable[16] := {$IFDEF FPC}@{$ENDIF}Func16;
    -  FIdentFuncTable[18] := {$IFDEF FPC}@{$ENDIF}Func18;
    -  FIdentFuncTable[19] := {$IFDEF FPC}@{$ENDIF}Func19;
    -  FIdentFuncTable[23] := {$IFDEF FPC}@{$ENDIF}Func23;
    -  FIdentFuncTable[24] := {$IFDEF FPC}@{$ENDIF}Func24;
    -  FIdentFuncTable[26] := {$IFDEF FPC}@{$ENDIF}Func26;
    -  FIdentFuncTable[29] := {$IFDEF FPC}@{$ENDIF}Func29;
    -  FIdentFuncTable[30] := {$IFDEF FPC}@{$ENDIF}Func30;
    -  FIdentFuncTable[32] := {$IFDEF FPC}@{$ENDIF}Func32;
    -  FIdentFuncTable[34] := {$IFDEF FPC}@{$ENDIF}Func34;
    -  FIdentFuncTable[36] := {$IFDEF FPC}@{$ENDIF}Func36;
    -  FIdentFuncTable[39] := {$IFDEF FPC}@{$ENDIF}Func39;
    -  FIdentFuncTable[40] := {$IFDEF FPC}@{$ENDIF}Func40;
    -  FIdentFuncTable[43] := {$IFDEF FPC}@{$ENDIF}Func43;
    -  FIdentFuncTable[45] := {$IFDEF FPC}@{$ENDIF}Func45;
    -  FIdentFuncTable[51] := {$IFDEF FPC}@{$ENDIF}Func51;
    -  FIdentFuncTable[52] := {$IFDEF FPC}@{$ENDIF}Func52;
    -  FIdentFuncTable[54] := {$IFDEF FPC}@{$ENDIF}Func54;
    -  FIdentFuncTable[55] := {$IFDEF FPC}@{$ENDIF}Func55;
    -  FIdentFuncTable[56] := {$IFDEF FPC}@{$ENDIF}Func56;
    -  FIdentFuncTable[57] := {$IFDEF FPC}@{$ENDIF}Func57;
    -  FIdentFuncTable[58] := {$IFDEF FPC}@{$ENDIF}Func58;
    -  FIdentFuncTable[59] := {$IFDEF FPC}@{$ENDIF}Func59;
    -  FIdentFuncTable[60] := {$IFDEF FPC}@{$ENDIF}Func60;
    -  FIdentFuncTable[61] := {$IFDEF FPC}@{$ENDIF}Func61;
    -  FIdentFuncTable[62] := {$IFDEF FPC}@{$ENDIF}Func62;
    -  FIdentFuncTable[63] := {$IFDEF FPC}@{$ENDIF}Func63;
    -  FIdentFuncTable[64] := {$IFDEF FPC}@{$ENDIF}Func64;
    -  FIdentFuncTable[65] := {$IFDEF FPC}@{$ENDIF}Func65;
    -  FIdentFuncTable[67] := {$IFDEF FPC}@{$ENDIF}Func67;
    -  FIdentFuncTable[69] := {$IFDEF FPC}@{$ENDIF}Func69;
    -  FIdentFuncTable[70] := {$IFDEF FPC}@{$ENDIF}Func70;
    -  FIdentFuncTable[72] := {$IFDEF FPC}@{$ENDIF}Func72;
    -  FIdentFuncTable[74] := {$IFDEF FPC}@{$ENDIF}Func74;
    -  FIdentFuncTable[76] := {$IFDEF FPC}@{$ENDIF}Func76;
    -  FIdentFuncTable[78] := {$IFDEF FPC}@{$ENDIF}Func78;
    -  FIdentFuncTable[79] := {$IFDEF FPC}@{$ENDIF}Func79;
    -  FIdentFuncTable[80] := {$IFDEF FPC}@{$ENDIF}Func80;
    -  FIdentFuncTable[81] := {$IFDEF FPC}@{$ENDIF}Func81;
    -  FIdentFuncTable[82] := {$IFDEF FPC}@{$ENDIF}Func82;
    -  FIdentFuncTable[83] := {$IFDEF FPC}@{$ENDIF}Func83;
    -  FIdentFuncTable[85] := {$IFDEF FPC}@{$ENDIF}Func85;
    -  FIdentFuncTable[86] := {$IFDEF FPC}@{$ENDIF}Func86;
    -  FIdentFuncTable[87] := {$IFDEF FPC}@{$ENDIF}Func87;
    -  FIdentFuncTable[88] := {$IFDEF FPC}@{$ENDIF}Func88;
    -  FIdentFuncTable[90] := {$IFDEF FPC}@{$ENDIF}Func90;
    -  FIdentFuncTable[91] := {$IFDEF FPC}@{$ENDIF}Func91;
    -  FIdentFuncTable[93] := {$IFDEF FPC}@{$ENDIF}Func93;
    -  FIdentFuncTable[94] := {$IFDEF FPC}@{$ENDIF}Func94;
    -  FIdentFuncTable[95] := {$IFDEF FPC}@{$ENDIF}Func95;
    -  FIdentFuncTable[96] := {$IFDEF FPC}@{$ENDIF}Func96;
    -  FIdentFuncTable[97] := {$IFDEF FPC}@{$ENDIF}Func97;
    -  FIdentFuncTable[98] := {$IFDEF FPC}@{$ENDIF}Func98;
    -  FIdentFuncTable[99] := {$IFDEF FPC}@{$ENDIF}Func99;
    -  FIdentFuncTable[100] := {$IFDEF FPC}@{$ENDIF}Func100;
    -  FIdentFuncTable[101] := {$IFDEF FPC}@{$ENDIF}Func101;
    -  FIdentFuncTable[102] := {$IFDEF FPC}@{$ENDIF}Func102;
    -  FIdentFuncTable[103] := {$IFDEF FPC}@{$ENDIF}Func103;
    -  FIdentFuncTable[105] := {$IFDEF FPC}@{$ENDIF}Func105;
    -  FIdentFuncTable[106] := {$IFDEF FPC}@{$ENDIF}Func106;
    -  FIdentFuncTable[107] := {$IFDEF FPC}@{$ENDIF}Func107;
    -  FIdentFuncTable[108] := {$IFDEF FPC}@{$ENDIF}Func108;
    -  FIdentFuncTable[110] := {$IFDEF FPC}@{$ENDIF}Func110;
    -  FIdentFuncTable[111] := {$IFDEF FPC}@{$ENDIF}Func111;
    -  FIdentFuncTable[112] := {$IFDEF FPC}@{$ENDIF}Func112;
    -  FIdentFuncTable[113] := {$IFDEF FPC}@{$ENDIF}Func113;
    -  FIdentFuncTable[114] := {$IFDEF FPC}@{$ENDIF}Func114;
    -  FIdentFuncTable[115] := {$IFDEF FPC}@{$ENDIF}Func115;
    -  FIdentFuncTable[116] := {$IFDEF FPC}@{$ENDIF}Func116;
    -  FIdentFuncTable[117] := {$IFDEF FPC}@{$ENDIF}Func117;
    -  FIdentFuncTable[118] := {$IFDEF FPC}@{$ENDIF}Func118;
    -  FIdentFuncTable[120] := {$IFDEF FPC}@{$ENDIF}Func120;
    -  FIdentFuncTable[121] := {$IFDEF FPC}@{$ENDIF}Func121;
    -  FIdentFuncTable[122] := {$IFDEF FPC}@{$ENDIF}Func122;
    -  FIdentFuncTable[124] := {$IFDEF FPC}@{$ENDIF}Func124;
    -  FIdentFuncTable[126] := {$IFDEF FPC}@{$ENDIF}Func126;
    -  FIdentFuncTable[128] := {$IFDEF FPC}@{$ENDIF}Func128;
    -  FIdentFuncTable[129] := {$IFDEF FPC}@{$ENDIF}Func129;
    -  FIdentFuncTable[130] := {$IFDEF FPC}@{$ENDIF}Func130;
    -  FIdentFuncTable[131] := {$IFDEF FPC}@{$ENDIF}Func131;
    -  FIdentFuncTable[134] := {$IFDEF FPC}@{$ENDIF}Func134;
    -  FIdentFuncTable[136] := {$IFDEF FPC}@{$ENDIF}Func136;
    -  FIdentFuncTable[137] := {$IFDEF FPC}@{$ENDIF}Func137;
    -  FIdentFuncTable[138] := {$IFDEF FPC}@{$ENDIF}Func138;
    -  FIdentFuncTable[139] := {$IFDEF FPC}@{$ENDIF}Func139;
    -  FIdentFuncTable[140] := {$IFDEF FPC}@{$ENDIF}Func140;
    -  FIdentFuncTable[141] := {$IFDEF FPC}@{$ENDIF}Func141;
    -  FIdentFuncTable[144] := {$IFDEF FPC}@{$ENDIF}Func144;
    -  FIdentFuncTable[148] := {$IFDEF FPC}@{$ENDIF}Func148;
    -  FIdentFuncTable[149] := {$IFDEF FPC}@{$ENDIF}Func149;
    -  FIdentFuncTable[150] := {$IFDEF FPC}@{$ENDIF}Func150;
    -  FIdentFuncTable[151] := {$IFDEF FPC}@{$ENDIF}Func151;
    -  FIdentFuncTable[152] := {$IFDEF FPC}@{$ENDIF}Func152;
    -  FIdentFuncTable[154] := {$IFDEF FPC}@{$ENDIF}Func154;
    -  FIdentFuncTable[156] := {$IFDEF FPC}@{$ENDIF}Func156;
    -  FIdentFuncTable[158] := {$IFDEF FPC}@{$ENDIF}Func158;
    -  FIdentFuncTable[160] := {$IFDEF FPC}@{$ENDIF}Func160;
    -  FIdentFuncTable[164] := {$IFDEF FPC}@{$ENDIF}Func164;
    -  FIdentFuncTable[166] := {$IFDEF FPC}@{$ENDIF}Func166;
    -  FIdentFuncTable[167] := {$IFDEF FPC}@{$ENDIF}Func167;
    -  FIdentFuncTable[169] := {$IFDEF FPC}@{$ENDIF}Func169;
    -  FIdentFuncTable[172] := {$IFDEF FPC}@{$ENDIF}Func172;
    -  FIdentFuncTable[173] := {$IFDEF FPC}@{$ENDIF}Func173;
    -  FIdentFuncTable[174] := {$IFDEF FPC}@{$ENDIF}Func174;
    -  FIdentFuncTable[178] := {$IFDEF FPC}@{$ENDIF}Func178;
    -  FIdentFuncTable[182] := {$IFDEF FPC}@{$ENDIF}Func182;
    -  FIdentFuncTable[187] := {$IFDEF FPC}@{$ENDIF}Func187;
    -  FIdentFuncTable[190] := {$IFDEF FPC}@{$ENDIF}Func190;
    -  FIdentFuncTable[194] := {$IFDEF FPC}@{$ENDIF}Func194;
    -  FIdentFuncTable[195] := {$IFDEF FPC}@{$ENDIF}Func195;
    -  FIdentFuncTable[199] := {$IFDEF FPC}@{$ENDIF}Func199;
    -  FIdentFuncTable[200] := {$IFDEF FPC}@{$ENDIF}Func200;
    -  FIdentFuncTable[210] := {$IFDEF FPC}@{$ENDIF}Func210;
    -  FIdentFuncTable[213] := {$IFDEF FPC}@{$ENDIF}Func213;
    -  FIdentFuncTable[220] := {$IFDEF FPC}@{$ENDIF}Func220;
    -  FIdentFuncTable[250] := {$IFDEF FPC}@{$ENDIF}Func250;
    +  FIdentFuncTable[16] := @Func16;
    +  FIdentFuncTable[18] := @Func18;
    +  FIdentFuncTable[19] := @Func19;
    +  FIdentFuncTable[23] := @Func23;
    +  FIdentFuncTable[24] := @Func24;
    +  FIdentFuncTable[26] := @Func26;
    +  FIdentFuncTable[29] := @Func29;
    +  FIdentFuncTable[30] := @Func30;
    +  FIdentFuncTable[32] := @Func32;
    +  FIdentFuncTable[34] := @Func34;
    +  FIdentFuncTable[36] := @Func36;
    +  FIdentFuncTable[39] := @Func39;
    +  FIdentFuncTable[40] := @Func40;
    +  FIdentFuncTable[43] := @Func43;
    +  FIdentFuncTable[45] := @Func45;
    +  FIdentFuncTable[51] := @Func51;
    +  FIdentFuncTable[52] := @Func52;
    +  FIdentFuncTable[54] := @Func54;
    +  FIdentFuncTable[55] := @Func55;
    +  FIdentFuncTable[56] := @Func56;
    +  FIdentFuncTable[57] := @Func57;
    +  FIdentFuncTable[58] := @Func58;
    +  FIdentFuncTable[59] := @Func59;
    +  FIdentFuncTable[60] := @Func60;
    +  FIdentFuncTable[61] := @Func61;
    +  FIdentFuncTable[62] := @Func62;
    +  FIdentFuncTable[63] := @Func63;
    +  FIdentFuncTable[64] := @Func64;
    +  FIdentFuncTable[65] := @Func65;
    +  FIdentFuncTable[67] := @Func67;
    +  FIdentFuncTable[69] := @Func69;
    +  FIdentFuncTable[70] := @Func70;
    +  FIdentFuncTable[72] := @Func72;
    +  FIdentFuncTable[74] := @Func74;
    +  FIdentFuncTable[76] := @Func76;
    +  FIdentFuncTable[78] := @Func78;
    +  FIdentFuncTable[79] := @Func79;
    +  FIdentFuncTable[80] := @Func80;
    +  FIdentFuncTable[81] := @Func81;
    +  FIdentFuncTable[82] := @Func82;
    +  FIdentFuncTable[83] := @Func83;
    +  FIdentFuncTable[85] := @Func85;
    +  FIdentFuncTable[86] := @Func86;
    +  FIdentFuncTable[87] := @Func87;
    +  FIdentFuncTable[88] := @Func88;
    +  FIdentFuncTable[90] := @Func90;
    +  FIdentFuncTable[91] := @Func91;
    +  FIdentFuncTable[93] := @Func93;
    +  FIdentFuncTable[94] := @Func94;
    +  FIdentFuncTable[95] := @Func95;
    +  FIdentFuncTable[96] := @Func96;
    +  FIdentFuncTable[97] := @Func97;
    +  FIdentFuncTable[98] := @Func98;
    +  FIdentFuncTable[99] := @Func99;
    +  FIdentFuncTable[100] := @Func100;
    +  FIdentFuncTable[101] := @Func101;
    +  FIdentFuncTable[102] := @Func102;
    +  FIdentFuncTable[103] := @Func103;
    +  FIdentFuncTable[105] := @Func105;
    +  FIdentFuncTable[106] := @Func106;
    +  FIdentFuncTable[107] := @Func107;
    +  FIdentFuncTable[108] := @Func108;
    +  FIdentFuncTable[110] := @Func110;
    +  FIdentFuncTable[111] := @Func111;
    +  FIdentFuncTable[112] := @Func112;
    +  FIdentFuncTable[113] := @Func113;
    +  FIdentFuncTable[114] := @Func114;
    +  FIdentFuncTable[115] := @Func115;
    +  FIdentFuncTable[116] := @Func116;
    +  FIdentFuncTable[117] := @Func117;
    +  FIdentFuncTable[118] := @Func118;
    +  FIdentFuncTable[120] := @Func120;
    +  FIdentFuncTable[121] := @Func121;
    +  FIdentFuncTable[122] := @Func122;
    +  FIdentFuncTable[124] := @Func124;
    +  FIdentFuncTable[126] := @Func126;
    +  FIdentFuncTable[128] := @Func128;
    +  FIdentFuncTable[129] := @Func129;
    +  FIdentFuncTable[130] := @Func130;
    +  FIdentFuncTable[131] := @Func131;
    +  FIdentFuncTable[134] := @Func134;
    +  FIdentFuncTable[136] := @Func136;
    +  FIdentFuncTable[137] := @Func137;
    +  FIdentFuncTable[138] := @Func138;
    +  FIdentFuncTable[139] := @Func139;
    +  FIdentFuncTable[140] := @Func140;
    +  FIdentFuncTable[141] := @Func141;
    +  FIdentFuncTable[144] := @Func144;
    +  FIdentFuncTable[148] := @Func148;
    +  FIdentFuncTable[149] := @Func149;
    +  FIdentFuncTable[150] := @Func150;
    +  FIdentFuncTable[151] := @Func151;
    +  FIdentFuncTable[152] := @Func152;
    +  FIdentFuncTable[154] := @Func154;
    +  FIdentFuncTable[156] := @Func156;
    +  FIdentFuncTable[158] := @Func158;
    +  FIdentFuncTable[160] := @Func160;
    +  FIdentFuncTable[164] := @Func164;
    +  FIdentFuncTable[166] := @Func166;
    +  FIdentFuncTable[167] := @Func167;
    +  FIdentFuncTable[169] := @Func169;
    +  FIdentFuncTable[172] := @Func172;
    +  FIdentFuncTable[173] := @Func173;
    +  FIdentFuncTable[174] := @Func174;
    +  FIdentFuncTable[178] := @Func178;
    +  FIdentFuncTable[182] := @Func182;
    +  FIdentFuncTable[187] := @Func187;
    +  FIdentFuncTable[190] := @Func190;
    +  FIdentFuncTable[194] := @Func194;
    +  FIdentFuncTable[195] := @Func195;
    +  FIdentFuncTable[199] := @Func199;
    +  FIdentFuncTable[200] := @Func200;
    +  FIdentFuncTable[210] := @Func210;
    +  FIdentFuncTable[213] := @Func213;
    +  FIdentFuncTable[220] := @Func220;
    +  FIdentFuncTable[250] := @Func250;
     end;
     
     function TSynCssSyn.KeyHash(ToHash: PChar): Integer;
    @@ -1416,7 +1396,7 @@
       FToIdent := MayBe;
       HashKey := KeyHash(MayBe);
       if (HashKey >= 16) and (HashKey <= 250) then
    -    Result := fIdentFuncTable[HashKey]{$IFDEF FPC}(){$ENDIF}
    +    Result := fIdentFuncTable[HashKey]()
       else
         Result := tkIdentifier;
     end;
    @@ -1427,20 +1407,20 @@
     begin
       for chI := #0 to #255 do
         case chI of
    -      '{', '}'                    : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}AsciiCharProc;
    -      #13                         : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}CRProc;
    -      '-'                         : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}DashProc;
    -      'A'..'Z', 'a'..'z', '_'     : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}IdentProc;
    -      '#', '$'                    : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}IntegerProc;
    -      #10                         : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}LFProc;
    -      #0                          : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}NullProc;
    -      '0'..'9'                    : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}NumberProc;
    -      ')', '('                    : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}RoundOpenProc;
    -      '/'                         : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}SlashProc;
    -      #1..#9, #11, #12, #14..#32  : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
    -      #39                         : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}StringProc;
    +      '{', '}'                    : FProcTable[chI] := @AsciiCharProc;
    +      #13                         : FProcTable[chI] := @CRProc;
    +      '-'                         : FProcTable[chI] := @DashProc;
    +      'A'..'Z', 'a'..'z', '_'     : FProcTable[chI] := @IdentProc;
    +      '#', '$'                    : FProcTable[chI] := @IntegerProc;
    +      #10                         : FProcTable[chI] := @LFProc;
    +      #0                          : FProcTable[chI] := @NullProc;
    +      '0'..'9'                    : FProcTable[chI] := @NumberProc;
    +      ')', '('                    : FProcTable[chI] := @RoundOpenProc;
    +      '/'                         : FProcTable[chI] := @SlashProc;
    +      #1..#9, #11, #12, #14..#32  : FProcTable[chI] := @SpaceProc;
    +      #39                         : FProcTable[chI] := @StringProc;
         else
    -      FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}UnknownProc;
    +      FProcTable[chI] := @UnknownProc;
         end;
     end;
     
    @@ -1463,14 +1443,14 @@
       AddAttribute(fStringAttri);
       fSymbolAttri := TSynHighlighterAttributes.Create(SYNS_AttrSymbol, SYNS_XML_AttrSymbol);
       AddAttribute(fSymbolAttri);
    -  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
    +  SetAttributesOnChange(@DefHighlightChange);
       InitIdent;
       MakeMethodTables;
       fDefaultFilter := SYNS_FilterCSS;
       fRange := rsUnknown;
     end;
     
    -procedure TSynCssSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer);
    +procedure TSynCssSyn.SetLine(const NewValue: String; LineNumber: Integer);
     begin
       inherited;
       fLine := PChar(NewValue);
    @@ -1615,10 +1595,8 @@
       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;
     
    @@ -1628,7 +1606,7 @@
       if FRange = rsCStyle then
         CStyleCommentProc
       else
    -    FProcTable[FLine[Run]]{$IFDEF FPC}(){$ENDIF};
    +    FProcTable[FLine[Run]]();
     end;
     
     function TSynCssSyn.GetDefaultAttribute(Index: Integer): TSynHighlighterAttributes;
    @@ -1664,15 +1642,11 @@
       SetString(Result, (FLine + FTokenPos), Len);
     end;
     
    -
    -{$IFDEF SYN_LAZARUS}
     procedure TSynCssSyn.GetTokenEx(out TokenStart: PChar; out TokenLength: integer);
    -
     begin
       TokenLength:=Run-fTokenPos;
       TokenStart:=FLine + fTokenPos;
     end;
    -{$ENDIF}
     
     function TSynCssSyn.GetTokenID: TtkTokenKind;
     begin
    Index: synhighlighterdiff.pas
    ===================================================================
    --- synhighlighterdiff.pas	(revision 37490)
    +++ synhighlighterdiff.pas	(working copy)
    @@ -138,7 +138,7 @@
         procedure Next; override;
         function GetEol: Boolean; override;
     
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
    +    procedure SetLine(const NewValue: String;
           LineNumber: Integer); override;
         function GetRange: Pointer; override;
         procedure SetRange(Value: Pointer); override;
    @@ -647,7 +647,7 @@
       Result := fTokenId = tkNull;
     end;
     
    -procedure TSynDiffSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
    +procedure TSynDiffSyn.SetLine(const NewValue: String;
       LineNumber: Integer);
     begin
       inherited;
    Index: synhighlighterhashentries.pas
    ===================================================================
    --- synhighlighterhashentries.pas	(revision 37490)
    +++ synhighlighterhashentries.pas	(working copy)
    @@ -42,21 +42,14 @@
     The classes in this unit can be used to use the hashing algorithm while still
     having the ability to change the set of keywords.
     }
    -{$IFNDEF QSYNHIGHLIGHTERHASHENTRIES}
     unit SynHighlighterHashEntries;
    -{$ENDIF}
     
     {$I SynEdit.inc}
     
     interface
     
     uses
    -{$IFDEF SYN_CLX}
    -  QSynEditTypes,
    -{$ELSE}
    -  SynEditTypes,
    -{$ENDIF}
    -  Classes;
    +  SynEditTypes, Classes;
     
     type
       { Class to hold the keyword to recognize, its length and its token kind. The
    @@ -94,13 +87,6 @@
         property Next: TSynHashEntry read fNext;
       end;
     
    -
    -{$IFNDEF SYN_COMPILER_4_UP}
    -  {$IFNDEF SYN_CPPB_3}
    -    {$DEFINE LIST_CLEAR_NOT_VIRTUAL}
    -  {$ENDIF}
    -{$ENDIF}
    -
       { A list of keyword entries, stored as single-linked lists under the hashvalue
         of the keyword. }
       TSynHashEntryList = class(TList)
    @@ -227,13 +213,7 @@
     function TSynHashEntryList.Get(HashKey: Integer): TSynHashEntry;
     begin
       if (HashKey >= 0) and (HashKey < Count) then
    -    Result :=
    -      {$IFDEF FPC}
    -         TSynHashEntry(inherited Items[HashKey])
    -      {$ELSE}
    -         inherited Items[HashKey]
    -      {$ENDIF}
    -    
    +    Result := TSynHashEntry(inherited Items[HashKey])
       else
         Result := nil;
     end;
    Index: synhighlighterhtml.pp
    ===================================================================
    --- synhighlighterhtml.pp	(revision 37490)
    +++ synhighlighterhtml.pp	(working copy)
    @@ -473,9 +473,7 @@
         function GetTokenID: TtkTokenKind;
         procedure SetLine(const NewValue: string; LineNumber:Integer); override;
         function GetToken: string; override;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
    -    {$ENDIF}
         function GetTokenAttribute: TSynHighlighterAttributes; override;
         function GetTokenKind: integer; override;
         function GetTokenPos: Integer; override;
    @@ -536,166 +534,166 @@
     begin
       for i := 0 to 255 do
         case i of
    -      1:   fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func1;
    -      2:   fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func2;
    -      8:   fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func8;
    -      9:   fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func9;
    -      10:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func10;
    -      11:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func11;
    -      12:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func12;
    -      13:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func13;
    -      14:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func14;
    -      15:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func15;
    -      16:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func16;
    -      17:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func17;
    -      18:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func18;
    -      19:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func19;
    -      20:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func20;
    -      21:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func21;
    -      23:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func23;
    -      24:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func24;
    -      25:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func25;
    -      26:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func26;
    -      27:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func27;
    -      28:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func28;
    -      29:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func29;
    -      30:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func30;
    -      31:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func31;
    -      32:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func32;
    -      33:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func33;
    -      34:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func34;
    -      35:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func35;
    -      37:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func37;
    -      38:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func38;
    -      39:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func39;
    -      40:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func40;
    -      41:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func41;
    -      42:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func42;
    -      43:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func43;
    -      46:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func46;
    -      47:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func47;
    -      48:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func48;
    -      49:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func49;
    -      50:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func50;
    -      52:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func52;
    -      53:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func53;
    -      55:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func55;
    -      56:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func56;
    -      57:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func57;
    -      58:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func58;
    -      60:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func60;
    -      61:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func61;
    -      62:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func62;
    -      63:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func63;
    -      64:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func64;
    -      65:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func65;
    -      66:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func66;
    -      67:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func67;
    -      68:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func68;
    -      70:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func70;
    -      76:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func76;
    -      78:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func78;
    -      79:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func79;
    -      80:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func80;
    -      81:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func81;
    -      82:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func82;
    -      83:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func83;
    -      84:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func84;
    -      85:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func85;
    -      86:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func86;
    -      87:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func87;
    -      89:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func89;
    -      90:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func90;
    -      91:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func91;
    -      92:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func92;
    -      93:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func93;
    -      94:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func94;
    -      100: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func100;
    -      105: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func105;
    -      107: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func107;
    -      110: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func110;
    -      113: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func113;
    -      114: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func114;
    -      117: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func117;
    -      121: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func121;
    -      123: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func123;
    -      124: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func124;
    -      128: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func128;
    -      130: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func130;
    -      131: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func131;
    -      132: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func132;
    -      133: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func133;
    -      134: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func134;
    -      135: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func135;
    -      136: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func136;
    -      137: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func137;
    -      138: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func138;
    -      139: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func139;
    -      140: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func140;
    -      141: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func141;
    -      143: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func143;
    -      145: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func145;
    -      146: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func146;
    -      149: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func149;
    -      150: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func150;
    -      152: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func152;
    -      153: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func153;
    -      154: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func154;
    -      155: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func155;
    -      156: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func156;
    -      157: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func157;
    -      159: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func159;
    -      160: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func160;
    -      161: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func161;
    -      162: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func162;
    -      163: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func163;
    -      164: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func164;
    -      165: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func165;
    -      168: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func168;
    -      169: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func169;
    -      170: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func170;
    -      171: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func171;
    -      172: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func172;
    -      174: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func174;
    -      175: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func175;
    -      177: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func177;
    -      178: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func178;
    -      179: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func179;
    -      180: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func180;
    -      182: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func182;
    -      183: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func183;
    -      185: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func185;
    -      186: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func186;
    -      187: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func187;
    -      188: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func188;
    -      190: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func190;
    -      192: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func192;
    -      198: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func198;
    -      200: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func200;
    -      201: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func201;
    -      202: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func202;
    -      203: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func203;
    -      204: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func204;
    -      205: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func205;
    -      207: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func207;
    -      208: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func208;
    -      209: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func209;
    -      211: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func211;
    -      212: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func212;
    -      213: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func213;
    -      214: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func214;
    -      215: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func215;
    -      216: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func216;
    -      222: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func222;
    -      227: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func227;
    -      229: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func229;
    -      232: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func232;
    -      235: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func235;
    -      236: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func236;
    -      239: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func239;
    -      243: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func243;
    -      250: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func250;
    -      else fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}AltFunc;
    +      1:   fIdentFuncTable[i] := @Func1;
    +      2:   fIdentFuncTable[i] := @Func2;
    +      8:   fIdentFuncTable[i] := @Func8;
    +      9:   fIdentFuncTable[i] := @Func9;
    +      10:  fIdentFuncTable[i] := @Func10;
    +      11:  fIdentFuncTable[i] := @Func11;
    +      12:  fIdentFuncTable[i] := @Func12;
    +      13:  fIdentFuncTable[i] := @Func13;
    +      14:  fIdentFuncTable[i] := @Func14;
    +      15:  fIdentFuncTable[i] := @Func15;
    +      16:  fIdentFuncTable[i] := @Func16;
    +      17:  fIdentFuncTable[i] := @Func17;
    +      18:  fIdentFuncTable[i] := @Func18;
    +      19:  fIdentFuncTable[i] := @Func19;
    +      20:  fIdentFuncTable[i] := @Func20;
    +      21:  fIdentFuncTable[i] := @Func21;
    +      23:  fIdentFuncTable[i] := @Func23;
    +      24:  fIdentFuncTable[i] := @Func24;
    +      25:  fIdentFuncTable[i] := @Func25;
    +      26:  fIdentFuncTable[i] := @Func26;
    +      27:  fIdentFuncTable[i] := @Func27;
    +      28:  fIdentFuncTable[i] := @Func28;
    +      29:  fIdentFuncTable[i] := @Func29;
    +      30:  fIdentFuncTable[i] := @Func30;
    +      31:  fIdentFuncTable[i] := @Func31;
    +      32:  fIdentFuncTable[i] := @Func32;
    +      33:  fIdentFuncTable[i] := @Func33;
    +      34:  fIdentFuncTable[i] := @Func34;
    +      35:  fIdentFuncTable[i] := @Func35;
    +      37:  fIdentFuncTable[i] := @Func37;
    +      38:  fIdentFuncTable[i] := @Func38;
    +      39:  fIdentFuncTable[i] := @Func39;
    +      40:  fIdentFuncTable[i] := @Func40;
    +      41:  fIdentFuncTable[i] := @Func41;
    +      42:  fIdentFuncTable[i] := @Func42;
    +      43:  fIdentFuncTable[i] := @Func43;
    +      46:  fIdentFuncTable[i] := @Func46;
    +      47:  fIdentFuncTable[i] := @Func47;
    +      48:  fIdentFuncTable[i] := @Func48;
    +      49:  fIdentFuncTable[i] := @Func49;
    +      50:  fIdentFuncTable[i] := @Func50;
    +      52:  fIdentFuncTable[i] := @Func52;
    +      53:  fIdentFuncTable[i] := @Func53;
    +      55:  fIdentFuncTable[i] := @Func55;
    +      56:  fIdentFuncTable[i] := @Func56;
    +      57:  fIdentFuncTable[i] := @Func57;
    +      58:  fIdentFuncTable[i] := @Func58;
    +      60:  fIdentFuncTable[i] := @Func60;
    +      61:  fIdentFuncTable[i] := @Func61;
    +      62:  fIdentFuncTable[i] := @Func62;
    +      63:  fIdentFuncTable[i] := @Func63;
    +      64:  fIdentFuncTable[i] := @Func64;
    +      65:  fIdentFuncTable[i] := @Func65;
    +      66:  fIdentFuncTable[i] := @Func66;
    +      67:  fIdentFuncTable[i] := @Func67;
    +      68:  fIdentFuncTable[i] := @Func68;
    +      70:  fIdentFuncTable[i] := @Func70;
    +      76:  fIdentFuncTable[i] := @Func76;
    +      78:  fIdentFuncTable[i] := @Func78;
    +      79:  fIdentFuncTable[i] := @Func79;
    +      80:  fIdentFuncTable[i] := @Func80;
    +      81:  fIdentFuncTable[i] := @Func81;
    +      82:  fIdentFuncTable[i] := @Func82;
    +      83:  fIdentFuncTable[i] := @Func83;
    +      84:  fIdentFuncTable[i] := @Func84;
    +      85:  fIdentFuncTable[i] := @Func85;
    +      86:  fIdentFuncTable[i] := @Func86;
    +      87:  fIdentFuncTable[i] := @Func87;
    +      89:  fIdentFuncTable[i] := @Func89;
    +      90:  fIdentFuncTable[i] := @Func90;
    +      91:  fIdentFuncTable[i] := @Func91;
    +      92:  fIdentFuncTable[i] := @Func92;
    +      93:  fIdentFuncTable[i] := @Func93;
    +      94:  fIdentFuncTable[i] := @Func94;
    +      100: fIdentFuncTable[i] := @Func100;
    +      105: fIdentFuncTable[i] := @Func105;
    +      107: fIdentFuncTable[i] := @Func107;
    +      110: fIdentFuncTable[i] := @Func110;
    +      113: fIdentFuncTable[i] := @Func113;
    +      114: fIdentFuncTable[i] := @Func114;
    +      117: fIdentFuncTable[i] := @Func117;
    +      121: fIdentFuncTable[i] := @Func121;
    +      123: fIdentFuncTable[i] := @Func123;
    +      124: fIdentFuncTable[i] := @Func124;
    +      128: fIdentFuncTable[i] := @Func128;
    +      130: fIdentFuncTable[i] := @Func130;
    +      131: fIdentFuncTable[i] := @Func131;
    +      132: fIdentFuncTable[i] := @Func132;
    +      133: fIdentFuncTable[i] := @Func133;
    +      134: fIdentFuncTable[i] := @Func134;
    +      135: fIdentFuncTable[i] := @Func135;
    +      136: fIdentFuncTable[i] := @Func136;
    +      137: fIdentFuncTable[i] := @Func137;
    +      138: fIdentFuncTable[i] := @Func138;
    +      139: fIdentFuncTable[i] := @Func139;
    +      140: fIdentFuncTable[i] := @Func140;
    +      141: fIdentFuncTable[i] := @Func141;
    +      143: fIdentFuncTable[i] := @Func143;
    +      145: fIdentFuncTable[i] := @Func145;
    +      146: fIdentFuncTable[i] := @Func146;
    +      149: fIdentFuncTable[i] := @Func149;
    +      150: fIdentFuncTable[i] := @Func150;
    +      152: fIdentFuncTable[i] := @Func152;
    +      153: fIdentFuncTable[i] := @Func153;
    +      154: fIdentFuncTable[i] := @Func154;
    +      155: fIdentFuncTable[i] := @Func155;
    +      156: fIdentFuncTable[i] := @Func156;
    +      157: fIdentFuncTable[i] := @Func157;
    +      159: fIdentFuncTable[i] := @Func159;
    +      160: fIdentFuncTable[i] := @Func160;
    +      161: fIdentFuncTable[i] := @Func161;
    +      162: fIdentFuncTable[i] := @Func162;
    +      163: fIdentFuncTable[i] := @Func163;
    +      164: fIdentFuncTable[i] := @Func164;
    +      165: fIdentFuncTable[i] := @Func165;
    +      168: fIdentFuncTable[i] := @Func168;
    +      169: fIdentFuncTable[i] := @Func169;
    +      170: fIdentFuncTable[i] := @Func170;
    +      171: fIdentFuncTable[i] := @Func171;
    +      172: fIdentFuncTable[i] := @Func172;
    +      174: fIdentFuncTable[i] := @Func174;
    +      175: fIdentFuncTable[i] := @Func175;
    +      177: fIdentFuncTable[i] := @Func177;
    +      178: fIdentFuncTable[i] := @Func178;
    +      179: fIdentFuncTable[i] := @Func179;
    +      180: fIdentFuncTable[i] := @Func180;
    +      182: fIdentFuncTable[i] := @Func182;
    +      183: fIdentFuncTable[i] := @Func183;
    +      185: fIdentFuncTable[i] := @Func185;
    +      186: fIdentFuncTable[i] := @Func186;
    +      187: fIdentFuncTable[i] := @Func187;
    +      188: fIdentFuncTable[i] := @Func188;
    +      190: fIdentFuncTable[i] := @Func190;
    +      192: fIdentFuncTable[i] := @Func192;
    +      198: fIdentFuncTable[i] := @Func198;
    +      200: fIdentFuncTable[i] := @Func200;
    +      201: fIdentFuncTable[i] := @Func201;
    +      202: fIdentFuncTable[i] := @Func202;
    +      203: fIdentFuncTable[i] := @Func203;
    +      204: fIdentFuncTable[i] := @Func204;
    +      205: fIdentFuncTable[i] := @Func205;
    +      207: fIdentFuncTable[i] := @Func207;
    +      208: fIdentFuncTable[i] := @Func208;
    +      209: fIdentFuncTable[i] := @Func209;
    +      211: fIdentFuncTable[i] := @Func211;
    +      212: fIdentFuncTable[i] := @Func212;
    +      213: fIdentFuncTable[i] := @Func213;
    +      214: fIdentFuncTable[i] := @Func214;
    +      215: fIdentFuncTable[i] := @Func215;
    +      216: fIdentFuncTable[i] := @Func216;
    +      222: fIdentFuncTable[i] := @Func222;
    +      227: fIdentFuncTable[i] := @Func227;
    +      229: fIdentFuncTable[i] := @Func229;
    +      232: fIdentFuncTable[i] := @Func232;
    +      235: fIdentFuncTable[i] := @Func235;
    +      236: fIdentFuncTable[i] := @Func236;
    +      239: fIdentFuncTable[i] := @Func239;
    +      243: fIdentFuncTable[i] := @Func243;
    +      250: fIdentFuncTable[i] := @Func250;
    +      else fIdentFuncTable[i] := @AltFunc;
         end;
     end;
     
    @@ -2237,42 +2235,42 @@
         case i of
         #0:
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}NullProc;
    +        fProcTable[i] := @NullProc;
           end;
         #10:
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}LFProc;
    +        fProcTable[i] := @LFProc;
           end;
         #13:
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}CRProc;
    +        fProcTable[i] := @CRProc;
           end;
         #1..#9, #11, #12, #14..#32:
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
    +        fProcTable[i] := @SpaceProc;
           end;
         '&':
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}AmpersandProc;
    +        fProcTable[i] := @AmpersandProc;
           end;
         '"':
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}StringProc;
    +        fProcTable[i] := @StringProc;
           end;
         '<':
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}BraceOpenProc;
    +        fProcTable[i] := @BraceOpenProc;
           end;
         '>':
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}BraceCloseProc;
    +        fProcTable[i] := @BraceCloseProc;
           end;
         '=':
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}EqualProc;
    +        fProcTable[i] := @EqualProc;
           end;
         else
    -      fProcTable[i] := {$IFDEF FPC}@{$ENDIF}IdentProc;
    +      fProcTable[i] := @IdentProc;
         end;
       end;
     end;
    @@ -2326,7 +2324,7 @@
       fAndAttri.Style := [fsBold];
       fAndAttri.Foreground := $0000ff00;
       AddAttribute(fAndAttri);
    -  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
    +  SetAttributesOnChange(@DefHighlightChange);
     
       InitIdent;
       MakeMethodTables;
    @@ -2478,7 +2476,7 @@
       fToIdent := MayBe;
       hashKey := KeyHash(MayBe);
       if (hashKey <= 255) then begin
    -    Result := fIdentFuncTable[hashKey]{$IFDEF FPC}(){$ENDIF};
    +    Result := fIdentFuncTable[hashKey]();
       end else begin
         Result := tkIdentifier;
       end;
    @@ -2642,14 +2640,12 @@
       SetString(Result, (FLine + fTokenPos), len);
     end;
     
    -{$IFDEF SYN_LAZARUS}
     procedure TSynHTMLSyn.GetTokenEx(out TokenStart: PChar;
       out TokenLength: integer);
     begin
       TokenLength:=Run-fTokenPos;
       TokenStart:=FLine + fTokenPos;
     end;
    -{$ENDIF}
     
     function TSynHTMLSyn.GetTokenID: TtkTokenKind;
     begin
    Index: synhighlighterini.pas
    ===================================================================
    --- synhighlighterini.pas	(revision 37490)
    +++ synhighlighterini.pas	(working copy)
    @@ -50,11 +50,7 @@
     
     uses
       Classes,
    -  {$IFDEF SYN_CLX}
    -  QGraphics,
    -  {$ELSE}
       Graphics,
    -  {$ENDIF}
       SynEditTypes, SynEditHighlighter;
     
     type
    @@ -108,7 +104,7 @@
           override;
         function GetEol: Boolean; override;
         function GetTokenID: TtkTokenKind;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber:Integer); override;
    +    procedure SetLine(const NewValue: String; LineNumber:Integer); override;
         function GetToken: String; override;
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
         function GetTokenAttribute: TSynHighlighterAttributes; override;
    @@ -190,7 +186,7 @@
       MakeMethodTables;
     end; { Create }
     
    -procedure TSynIniSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber:Integer);
    +procedure TSynIniSyn.SetLine(const NewValue: String; LineNumber:Integer);
     begin
       inherited;
       fLine := PChar(NewValue);
    @@ -255,10 +251,8 @@
         KeyProc
       else begin
         inc(Run);
    -    {$IFDEF SYN_LAZARUS}
         while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
          ((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @TextProc)) do inc(Run);
    -    {$ENDIF}
         fTokenID := tkText;
         //fTokenID := tkText;
         //inc(Run);
    Index: synhighlighterjava.pas
    ===================================================================
    --- synhighlighterjava.pas	(revision 37490)
    +++ synhighlighterjava.pas	(working copy)
    @@ -49,15 +49,7 @@
     
     uses
       SysUtils, Classes,
    -  {$IFDEF SYN_LAZARUS}
       LCLIntf, LCLType, Graphics,
    -  {$ELSE}
    -  {$IFDEF SYN_CLX}
    -  Qt, QControls, QGraphics,
    -  {$ELSE}
    -  Windows, Messages, Controls, Graphics, Registry,
    -  {$ENDIF}
    -  {$ENDIF}
       SynEditTypes, SynEditHighlighter;
     
     type
    @@ -206,12 +198,10 @@
         function GetEol: Boolean; override;
         function GetRange: Pointer; override;
         function GetTokenID: TtkTokenKind;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
    +    procedure SetLine(const NewValue: String;
           LineNumber:Integer); override;
         function GetToken: String; override;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
    -    {$ENDIF}
         function GetTokenAttribute: TSynHighlighterAttributes; override;
         function GetTokenKind: integer; override;
         function GetTokenPos: Integer; override;
    @@ -275,52 +265,52 @@
     begin
       for I := 0 to 172 do
         Case I of
    -      17: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func17;
    -      21: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func21;
    -      32: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func32;
    -      34: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func34;
    -      40: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func40;
    -      42: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func42;
    -      45: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func45;
    -      46: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func46;
    -      47: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func47;
    -      48: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func48;
    -      51: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func51;
    -      52: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func52;
    -      54: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func54;
    -      56: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func56;
    -      59: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func59;
    -      60: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func60;
    -      61: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func61;
    -      62: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func62;
    -      63: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func63;
    -      65: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func65;
    -      66: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func66;
    -      68: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func68;
    -      69: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func69;
    -      71: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func71;
    -      76: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func76;
    -      77: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func77;
    -      78: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func78;
    -      84: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func84;
    -      85: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func85;
    -      86: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func86;
    -      88: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func88;
    -      89: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func89;
    -      90: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func90;
    -      92: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func92;
    -      97: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func97;
    -      98: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func98;
    -      102: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func102;
    -      104: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func104;
    -      109: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func109;
    -      115: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func115;
    -      116: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func116;
    -      119: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func119;
    -      129: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func129;
    -      136: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func136;
    -      172: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func172;
    -    else fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}AltFunc;
    +      17: fIdentFuncTable[I] := @Func17;
    +      21: fIdentFuncTable[I] := @Func21;
    +      32: fIdentFuncTable[I] := @Func32;
    +      34: fIdentFuncTable[I] := @Func34;
    +      40: fIdentFuncTable[I] := @Func40;
    +      42: fIdentFuncTable[I] := @Func42;
    +      45: fIdentFuncTable[I] := @Func45;
    +      46: fIdentFuncTable[I] := @Func46;
    +      47: fIdentFuncTable[I] := @Func47;
    +      48: fIdentFuncTable[I] := @Func48;
    +      51: fIdentFuncTable[I] := @Func51;
    +      52: fIdentFuncTable[I] := @Func52;
    +      54: fIdentFuncTable[I] := @Func54;
    +      56: fIdentFuncTable[I] := @Func56;
    +      59: fIdentFuncTable[I] := @Func59;
    +      60: fIdentFuncTable[I] := @Func60;
    +      61: fIdentFuncTable[I] := @Func61;
    +      62: fIdentFuncTable[I] := @Func62;
    +      63: fIdentFuncTable[I] := @Func63;
    +      65: fIdentFuncTable[I] := @Func65;
    +      66: fIdentFuncTable[I] := @Func66;
    +      68: fIdentFuncTable[I] := @Func68;
    +      69: fIdentFuncTable[I] := @Func69;
    +      71: fIdentFuncTable[I] := @Func71;
    +      76: fIdentFuncTable[I] := @Func76;
    +      77: fIdentFuncTable[I] := @Func77;
    +      78: fIdentFuncTable[I] := @Func78;
    +      84: fIdentFuncTable[I] := @Func84;
    +      85: fIdentFuncTable[I] := @Func85;
    +      86: fIdentFuncTable[I] := @Func86;
    +      88: fIdentFuncTable[I] := @Func88;
    +      89: fIdentFuncTable[I] := @Func89;
    +      90: fIdentFuncTable[I] := @Func90;
    +      92: fIdentFuncTable[I] := @Func92;
    +      97: fIdentFuncTable[I] := @Func97;
    +      98: fIdentFuncTable[I] := @Func98;
    +      102: fIdentFuncTable[I] := @Func102;
    +      104: fIdentFuncTable[I] := @Func104;
    +      109: fIdentFuncTable[I] := @Func109;
    +      115: fIdentFuncTable[I] := @Func115;
    +      116: fIdentFuncTable[I] := @Func116;
    +      119: fIdentFuncTable[I] := @Func119;
    +      129: fIdentFuncTable[I] := @Func129;
    +      136: fIdentFuncTable[I] := @Func136;
    +      172: fIdentFuncTable[I] := @Func172;
    +    else fIdentFuncTable[I] := @AltFunc;
         end;
     end;
     
    @@ -612,47 +602,47 @@
     begin
       for I := #0 to #255 do
         case I of
    -      '&': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}AndSymbolProc;
    -      #39: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}AsciiCharProc;
    -      '@': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}AtSymbolProc;
    -      '}': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}BraceCloseProc;
    -      '{': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}BraceOpenProc;
    -      #13: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}CRProc;
    -      ':': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}ColonProc;
    -      ',': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}CommaProc;
    -      '=': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}EqualProc;
    -      '>': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}GreaterProc;
    +      '&': fProcTable[I] := @AndSymbolProc;
    +      #39: fProcTable[I] := @AsciiCharProc;
    +      '@': fProcTable[I] := @AtSymbolProc;
    +      '}': fProcTable[I] := @BraceCloseProc;
    +      '{': fProcTable[I] := @BraceOpenProc;
    +      #13: fProcTable[I] := @CRProc;
    +      ':': fProcTable[I] := @ColonProc;
    +      ',': fProcTable[I] := @CommaProc;
    +      '=': fProcTable[I] := @EqualProc;
    +      '>': fProcTable[I] := @GreaterProc;
           'A'..'Z', 'a'..'z', '_', '$':
    -           fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}IdentProc;
    -      #10: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LFProc;
    -      '<': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LowerProc;
    -      '-': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}MinusProc;
    -      '*': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}MultiplyProc;
    -      '!': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NotSymbolProc;
    -      #0: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NullProc;
    -      '0'..'9': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NumberProc;
    -      '|': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}OrSymbolProc;
    -      '+': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}PlusProc;
    -      '.': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}PointProc;
    -      '#': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}PoundProc;
    -      '?': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}QuestionProc;
    -      '%': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}RemainderSymbolProc;
    -      ')': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}RoundCloseProc;
    -      '(': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}RoundOpenProc;
    -      ';': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SemiColonProc;
    -      '/': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SlashProc;
    +           fProcTable[I] := @IdentProc;
    +      #10: fProcTable[I] := @LFProc;
    +      '<': fProcTable[I] := @LowerProc;
    +      '-': fProcTable[I] := @MinusProc;
    +      '*': fProcTable[I] := @MultiplyProc;
    +      '!': fProcTable[I] := @NotSymbolProc;
    +      #0: fProcTable[I] := @NullProc;
    +      '0'..'9': fProcTable[I] := @NumberProc;
    +      '|': fProcTable[I] := @OrSymbolProc;
    +      '+': fProcTable[I] := @PlusProc;
    +      '.': fProcTable[I] := @PointProc;
    +      '#': fProcTable[I] := @PoundProc;
    +      '?': fProcTable[I] := @QuestionProc;
    +      '%': fProcTable[I] := @RemainderSymbolProc;
    +      ')': fProcTable[I] := @RoundCloseProc;
    +      '(': fProcTable[I] := @RoundOpenProc;
    +      ';': fProcTable[I] := @SemiColonProc;
    +      '/': fProcTable[I] := @SlashProc;
           #1..#9, #11, #12, #14..#32:
    -           fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SpaceProc;
    -      ']': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SquareCloseProc;
    -      '[': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SquareOpenProc;
    -      #34: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}StringProc;
    -      '~': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}TildeProc;
    -      '^': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}XOrSymbolProc;
    +           fProcTable[I] := @SpaceProc;
    +      ']': fProcTable[I] := @SquareCloseProc;
    +      '[': fProcTable[I] := @SquareOpenProc;
    +      #34: fProcTable[I] := @StringProc;
    +      '~': fProcTable[I] := @TildeProc;
    +      '^': fProcTable[I] := @XOrSymbolProc;
         else
           if (I in TSynSpecialChars) then
    -        fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}IdentProc
    +        fProcTable[I] := @IdentProc
           else
    -        fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}UnknownProc;
    +        fProcTable[I] := @UnknownProc;
         end;
     end;
     
    @@ -682,14 +672,14 @@
       fSymbolAttri := TSynHighlighterAttributes.Create(SYNS_AttrSymbol, SYNS_XML_AttrSymbol);
       AddAttribute(fSymbolAttri);
       fRange := rsUnknown;
    -  SetAttributesOnChange({$IFDEF SYN_LAZARUS}@{$ENDIF}DefHighlightChange);
    +  SetAttributesOnChange(@DefHighlightChange);
     
       InitIdent;
       MakeMethodTables;
       fDefaultFilter := SYNS_FilterJava;
     end; { Create }
     
    -procedure TSynJavaSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
    +procedure TSynJavaSyn.SetLine(const NewValue: String;
       LineNumber:Integer);
     begin
       inherited;
    @@ -1253,10 +1243,8 @@
       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;
     
    @@ -1316,13 +1304,11 @@
       SetString(Result, (FLine + fTokenPos), Len);
     end;
     
    -{$IFDEF SYN_LAZARUS}
     procedure TSynJavaSyn.GetTokenEx(out TokenStart: PChar; out TokenLength: integer);
     begin
       TokenLength:=Run-fTokenPos;
       TokenStart:=FLine + fTokenPos;
     end;
    -{$ENDIF}
     
     function TSynJavaSyn.GetTokenID: TtkTokenKind;
     begin
    Index: synhighlighterjscript.pas
    ===================================================================
    --- synhighlighterjscript.pas	(revision 37490)
    +++ synhighlighterjscript.pas	(working copy)
    @@ -45,24 +45,16 @@
     
     { Converted for Lazarus on 2007-12-11 by DiBo33 }
     
    -{$IFNDEF QSYNHIGHLIGHTERJSCRIPT}
     unit SynHighlighterJScript;
    -{$ENDIF}
     
     {$I SynEdit.inc}
     
     interface
     
     uses
    -{$IFDEF SYN_CLX}
    -  QGraphics,
    -  QSynEditTypes,
    -  QSynEditHighlighter,
    -{$ELSE}
       Graphics,
       SynEditTypes,
       SynEditHighlighter,
    -{$ENDIF}
       SysUtils, Classes;
     
     type
    @@ -272,10 +264,8 @@
         function GetEol: Boolean; override;
         function GetRange: Pointer; override;
         function GetTokenID: TtkTokenKind;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
    -    {$ENDIF}
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer); override;
    +    procedure SetLine(const NewValue: String; LineNumber: Integer); override;
         function GetToken: String; override;
         function GetTokenAttribute: TSynHighlighterAttributes; override;
         function GetTokenKind: integer; override;
    @@ -304,11 +294,7 @@
     implementation
     
     uses
    -{$IFDEF SYN_CLX}
    -  QSynEditStrConst;
    -{$ELSE}
       SynEditStrConst;
    -{$ENDIF}
     
     var
       Identifiers: array[#0..#255] of ByteBool;
    @@ -339,146 +325,146 @@
     begin
       pF := PIdentFuncTableFunc(@fIdentFuncTable);
       for I := Low(fIdentFuncTable) to High(fIdentFuncTable) do begin
    -    pF^ := {$IFDEF FPC}@{$ENDIF}AltFunc;
    +    pF^ := @AltFunc;
         Inc(pF);
       end;
    -  fIdentFuncTable[5] := {$IFDEF FPC}@{$ENDIF}Func5;
    -  fIdentFuncTable[15] := {$IFDEF FPC}@{$ENDIF}Func15;
    -  fIdentFuncTable[17] := {$IFDEF FPC}@{$ENDIF}Func17;
    -  fIdentFuncTable[18] := {$IFDEF FPC}@{$ENDIF}Func18;
    -  fIdentFuncTable[19] := {$IFDEF FPC}@{$ENDIF}Func19;
    -  fIdentFuncTable[22] := {$IFDEF FPC}@{$ENDIF}Func22;
    -  fIdentFuncTable[23] := {$IFDEF FPC}@{$ENDIF}Func23;
    -  fIdentFuncTable[25] := {$IFDEF FPC}@{$ENDIF}Func25;
    -  fIdentFuncTable[26] := {$IFDEF FPC}@{$ENDIF}Func26;
    -  fIdentFuncTable[28] := {$IFDEF FPC}@{$ENDIF}Func28;
    -  fIdentFuncTable[29] := {$IFDEF FPC}@{$ENDIF}Func29;
    -  fIdentFuncTable[30] := {$IFDEF FPC}@{$ENDIF}Func30;
    -  fIdentFuncTable[33] := {$IFDEF FPC}@{$ENDIF}Func33;
    -  fIdentFuncTable[34] := {$IFDEF FPC}@{$ENDIF}Func34;
    -  fIdentFuncTable[35] := {$IFDEF FPC}@{$ENDIF}Func35;
    -  fIdentFuncTable[36] := {$IFDEF FPC}@{$ENDIF}Func36;
    -  fIdentFuncTable[37] := {$IFDEF FPC}@{$ENDIF}Func37;
    -  fIdentFuncTable[38] := {$IFDEF FPC}@{$ENDIF}Func38;
    -  fIdentFuncTable[39] := {$IFDEF FPC}@{$ENDIF}Func39;
    -  fIdentFuncTable[40] := {$IFDEF FPC}@{$ENDIF}Func40;
    -  fIdentFuncTable[41] := {$IFDEF FPC}@{$ENDIF}Func41;
    -  fIdentFuncTable[42] := {$IFDEF FPC}@{$ENDIF}Func42;
    -  fIdentFuncTable[43] := {$IFDEF FPC}@{$ENDIF}Func43;
    -  fIdentFuncTable[44] := {$IFDEF FPC}@{$ENDIF}Func44;
    -  fIdentFuncTable[45] := {$IFDEF FPC}@{$ENDIF}Func45;
    -  fIdentFuncTable[46] := {$IFDEF FPC}@{$ENDIF}Func46;
    -  fIdentFuncTable[47] := {$IFDEF FPC}@{$ENDIF}Func47;
    -  fIdentFuncTable[48] := {$IFDEF FPC}@{$ENDIF}Func48;
    -  fIdentFuncTable[49] := {$IFDEF FPC}@{$ENDIF}Func49;
    -  fIdentFuncTable[50] := {$IFDEF FPC}@{$ENDIF}Func50;
    -  fIdentFuncTable[51] := {$IFDEF FPC}@{$ENDIF}Func51;
    -  fIdentFuncTable[52] := {$IFDEF FPC}@{$ENDIF}Func52;
    -  fIdentFuncTable[53] := {$IFDEF FPC}@{$ENDIF}Func53;
    -  fIdentFuncTable[54] := {$IFDEF FPC}@{$ENDIF}Func54;
    -  fIdentFuncTable[55] := {$IFDEF FPC}@{$ENDIF}Func55;
    -  fIdentFuncTable[56] := {$IFDEF FPC}@{$ENDIF}Func56;
    -  fIdentFuncTable[57] := {$IFDEF FPC}@{$ENDIF}Func57;
    -  fIdentFuncTable[58] := {$IFDEF FPC}@{$ENDIF}Func58;
    -  fIdentFuncTable[59] := {$IFDEF FPC}@{$ENDIF}Func59;
    -  fIdentFuncTable[60] := {$IFDEF FPC}@{$ENDIF}Func60;
    -  fIdentFuncTable[61] := {$IFDEF FPC}@{$ENDIF}Func61;
    -  fIdentFuncTable[62] := {$IFDEF FPC}@{$ENDIF}Func62;
    -  fIdentFuncTable[63] := {$IFDEF FPC}@{$ENDIF}Func63;
    -  fIdentFuncTable[64] := {$IFDEF FPC}@{$ENDIF}Func64;
    -  fIdentFuncTable[65] := {$IFDEF FPC}@{$ENDIF}Func65;
    -  fIdentFuncTable[66] := {$IFDEF FPC}@{$ENDIF}Func66;
    -  fIdentFuncTable[67] := {$IFDEF FPC}@{$ENDIF}Func67;
    -  fIdentFuncTable[69] := {$IFDEF FPC}@{$ENDIF}Func69;
    -  fIdentFuncTable[70] := {$IFDEF FPC}@{$ENDIF}Func70;
    -  fIdentFuncTable[71] := {$IFDEF FPC}@{$ENDIF}Func71;
    -  fIdentFuncTable[72] := {$IFDEF FPC}@{$ENDIF}Func72;
    -  fIdentFuncTable[73] := {$IFDEF FPC}@{$ENDIF}Func73;
    -  fIdentFuncTable[74] := {$IFDEF FPC}@{$ENDIF}Func74;
    -  fIdentFuncTable[75] := {$IFDEF FPC}@{$ENDIF}Func75;
    -  fIdentFuncTable[76] := {$IFDEF FPC}@{$ENDIF}Func76;
    -  fIdentFuncTable[77] := {$IFDEF FPC}@{$ENDIF}Func77;
    -  fIdentFuncTable[78] := {$IFDEF FPC}@{$ENDIF}Func78;
    -  fIdentFuncTable[79] := {$IFDEF FPC}@{$ENDIF}Func79;
    -  fIdentFuncTable[80] := {$IFDEF FPC}@{$ENDIF}Func80;
    -  fIdentFuncTable[81] := {$IFDEF FPC}@{$ENDIF}Func81;
    -  fIdentFuncTable[82] := {$IFDEF FPC}@{$ENDIF}Func82;
    -  fIdentFuncTable[83] := {$IFDEF FPC}@{$ENDIF}Func83;
    -  fIdentFuncTable[84] := {$IFDEF FPC}@{$ENDIF}Func84;
    -  fIdentFuncTable[85] := {$IFDEF FPC}@{$ENDIF}Func85;
    -  fIdentFuncTable[86] := {$IFDEF FPC}@{$ENDIF}Func86;
    -  fIdentFuncTable[87] := {$IFDEF FPC}@{$ENDIF}Func87;
    -  fIdentFuncTable[88] := {$IFDEF FPC}@{$ENDIF}Func88;
    -  fIdentFuncTable[89] := {$IFDEF FPC}@{$ENDIF}Func89;
    -  fIdentFuncTable[90] := {$IFDEF FPC}@{$ENDIF}Func90;
    -  fIdentFuncTable[91] := {$IFDEF FPC}@{$ENDIF}Func91;
    -  fIdentFuncTable[92] := {$IFDEF FPC}@{$ENDIF}Func92;
    -  fIdentFuncTable[93] := {$IFDEF FPC}@{$ENDIF}Func93;
    -  fIdentFuncTable[94] := {$IFDEF FPC}@{$ENDIF}Func94;
    -  fIdentFuncTable[95] := {$IFDEF FPC}@{$ENDIF}Func95;
    -  fIdentFuncTable[96] := {$IFDEF FPC}@{$ENDIF}Func96;
    -  fIdentFuncTable[98] := {$IFDEF FPC}@{$ENDIF}Func98;
    -  fIdentFuncTable[99] := {$IFDEF FPC}@{$ENDIF}Func99;
    -  fIdentFuncTable[100] := {$IFDEF FPC}@{$ENDIF}Func100;
    -  fIdentFuncTable[101] := {$IFDEF FPC}@{$ENDIF}Func101;
    -  fIdentFuncTable[102] := {$IFDEF FPC}@{$ENDIF}Func102;
    -  fIdentFuncTable[103] := {$IFDEF FPC}@{$ENDIF}Func103;
    -  fIdentFuncTable[105] := {$IFDEF FPC}@{$ENDIF}Func105;
    -  fIdentFuncTable[106] := {$IFDEF FPC}@{$ENDIF}Func106;
    -  fIdentFuncTable[107] := {$IFDEF FPC}@{$ENDIF}Func107;
    -  fIdentFuncTable[108] := {$IFDEF FPC}@{$ENDIF}Func108;
    -  fIdentFuncTable[109] := {$IFDEF FPC}@{$ENDIF}Func109;
    -  fIdentFuncTable[110] := {$IFDEF FPC}@{$ENDIF}Func110;
    -  fIdentFuncTable[111] := {$IFDEF FPC}@{$ENDIF}Func111;
    -  fIdentFuncTable[113] := {$IFDEF FPC}@{$ENDIF}Func113;
    -  fIdentFuncTable[114] := {$IFDEF FPC}@{$ENDIF}Func114;
    -  fIdentFuncTable[115] := {$IFDEF FPC}@{$ENDIF}Func115;
    -  fIdentFuncTable[116] := {$IFDEF FPC}@{$ENDIF}Func116;
    -  fIdentFuncTable[117] := {$IFDEF FPC}@{$ENDIF}Func117;
    -  fIdentFuncTable[118] := {$IFDEF FPC}@{$ENDIF}Func118;
    -  fIdentFuncTable[119] := {$IFDEF FPC}@{$ENDIF}Func119;
    -  fIdentFuncTable[120] := {$IFDEF FPC}@{$ENDIF}Func120;
    -  fIdentFuncTable[121] := {$IFDEF FPC}@{$ENDIF}Func121;
    -  fIdentFuncTable[122] := {$IFDEF FPC}@{$ENDIF}Func122;
    -  fIdentFuncTable[123] := {$IFDEF FPC}@{$ENDIF}Func123;
    -  fIdentFuncTable[124] := {$IFDEF FPC}@{$ENDIF}Func124;
    -  fIdentFuncTable[125] := {$IFDEF FPC}@{$ENDIF}Func125;
    -  fIdentFuncTable[126] := {$IFDEF FPC}@{$ENDIF}Func126;
    -  fIdentFuncTable[128] := {$IFDEF FPC}@{$ENDIF}Func128;
    -  fIdentFuncTable[129] := {$IFDEF FPC}@{$ENDIF}Func129;
    -  fIdentFuncTable[130] := {$IFDEF FPC}@{$ENDIF}Func130;
    -  fIdentFuncTable[131] := {$IFDEF FPC}@{$ENDIF}Func131;
    -  fIdentFuncTable[132] := {$IFDEF FPC}@{$ENDIF}Func132;
    -  fIdentFuncTable[133] := {$IFDEF FPC}@{$ENDIF}Func133;
    -  fIdentFuncTable[135] := {$IFDEF FPC}@{$ENDIF}Func135;
    -  fIdentFuncTable[136] := {$IFDEF FPC}@{$ENDIF}Func136;
    -  fIdentFuncTable[139] := {$IFDEF FPC}@{$ENDIF}Func139;
    -  fIdentFuncTable[140] := {$IFDEF FPC}@{$ENDIF}Func140;
    -  fIdentFuncTable[142] := {$IFDEF FPC}@{$ENDIF}Func142;
    -  fIdentFuncTable[143] := {$IFDEF FPC}@{$ENDIF}Func143;
    -  fIdentFuncTable[144] := {$IFDEF FPC}@{$ENDIF}Func144;
    -  fIdentFuncTable[145] := {$IFDEF FPC}@{$ENDIF}Func145;
    -  fIdentFuncTable[146] := {$IFDEF FPC}@{$ENDIF}Func146;
    -  fIdentFuncTable[147] := {$IFDEF FPC}@{$ENDIF}Func147;
    -  fIdentFuncTable[150] := {$IFDEF FPC}@{$ENDIF}Func150;
    -  fIdentFuncTable[155] := {$IFDEF FPC}@{$ENDIF}Func155;
    -  fIdentFuncTable[157] := {$IFDEF FPC}@{$ENDIF}Func157;
    -  fIdentFuncTable[158] := {$IFDEF FPC}@{$ENDIF}Func158;
    -  fIdentFuncTable[160] := {$IFDEF FPC}@{$ENDIF}Func160;
    -  fIdentFuncTable[162] := {$IFDEF FPC}@{$ENDIF}Func162;
    -  fIdentFuncTable[166] := {$IFDEF FPC}@{$ENDIF}Func166;
    -  fIdentFuncTable[167] := {$IFDEF FPC}@{$ENDIF}Func167;
    -  fIdentFuncTable[169] := {$IFDEF FPC}@{$ENDIF}Func169;
    -  fIdentFuncTable[170] := {$IFDEF FPC}@{$ENDIF}Func170;
    -  fIdentFuncTable[176] := {$IFDEF FPC}@{$ENDIF}Func176;
    -  fIdentFuncTable[177] := {$IFDEF FPC}@{$ENDIF}Func177;
    -  fIdentFuncTable[178] := {$IFDEF FPC}@{$ENDIF}Func178;
    -  fIdentFuncTable[188] := {$IFDEF FPC}@{$ENDIF}Func188;
    -  fIdentFuncTable[189] := {$IFDEF FPC}@{$ENDIF}Func189;
    -  fIdentFuncTable[210] := {$IFDEF FPC}@{$ENDIF}Func210;
    -  fIdentFuncTable[220] := {$IFDEF FPC}@{$ENDIF}Func220;
    -  fIdentFuncTable[222] := {$IFDEF FPC}@{$ENDIF}Func222;
    -  fIdentFuncTable[252] := {$IFDEF FPC}@{$ENDIF}Func252;
    +  fIdentFuncTable[5] := @Func5;
    +  fIdentFuncTable[15] := @Func15;
    +  fIdentFuncTable[17] := @Func17;
    +  fIdentFuncTable[18] := @Func18;
    +  fIdentFuncTable[19] := @Func19;
    +  fIdentFuncTable[22] := @Func22;
    +  fIdentFuncTable[23] := @Func23;
    +  fIdentFuncTable[25] := @Func25;
    +  fIdentFuncTable[26] := @Func26;
    +  fIdentFuncTable[28] := @Func28;
    +  fIdentFuncTable[29] := @Func29;
    +  fIdentFuncTable[30] := @Func30;
    +  fIdentFuncTable[33] := @Func33;
    +  fIdentFuncTable[34] := @Func34;
    +  fIdentFuncTable[35] := @Func35;
    +  fIdentFuncTable[36] := @Func36;
    +  fIdentFuncTable[37] := @Func37;
    +  fIdentFuncTable[38] := @Func38;
    +  fIdentFuncTable[39] := @Func39;
    +  fIdentFuncTable[40] := @Func40;
    +  fIdentFuncTable[41] := @Func41;
    +  fIdentFuncTable[42] := @Func42;
    +  fIdentFuncTable[43] := @Func43;
    +  fIdentFuncTable[44] := @Func44;
    +  fIdentFuncTable[45] := @Func45;
    +  fIdentFuncTable[46] := @Func46;
    +  fIdentFuncTable[47] := @Func47;
    +  fIdentFuncTable[48] := @Func48;
    +  fIdentFuncTable[49] := @Func49;
    +  fIdentFuncTable[50] := @Func50;
    +  fIdentFuncTable[51] := @Func51;
    +  fIdentFuncTable[52] := @Func52;
    +  fIdentFuncTable[53] := @Func53;
    +  fIdentFuncTable[54] := @Func54;
    +  fIdentFuncTable[55] := @Func55;
    +  fIdentFuncTable[56] := @Func56;
    +  fIdentFuncTable[57] := @Func57;
    +  fIdentFuncTable[58] := @Func58;
    +  fIdentFuncTable[59] := @Func59;
    +  fIdentFuncTable[60] := @Func60;
    +  fIdentFuncTable[61] := @Func61;
    +  fIdentFuncTable[62] := @Func62;
    +  fIdentFuncTable[63] := @Func63;
    +  fIdentFuncTable[64] := @Func64;
    +  fIdentFuncTable[65] := @Func65;
    +  fIdentFuncTable[66] := @Func66;
    +  fIdentFuncTable[67] := @Func67;
    +  fIdentFuncTable[69] := @Func69;
    +  fIdentFuncTable[70] := @Func70;
    +  fIdentFuncTable[71] := @Func71;
    +  fIdentFuncTable[72] := @Func72;
    +  fIdentFuncTable[73] := @Func73;
    +  fIdentFuncTable[74] := @Func74;
    +  fIdentFuncTable[75] := @Func75;
    +  fIdentFuncTable[76] := @Func76;
    +  fIdentFuncTable[77] := @Func77;
    +  fIdentFuncTable[78] := @Func78;
    +  fIdentFuncTable[79] := @Func79;
    +  fIdentFuncTable[80] := @Func80;
    +  fIdentFuncTable[81] := @Func81;
    +  fIdentFuncTable[82] := @Func82;
    +  fIdentFuncTable[83] := @Func83;
    +  fIdentFuncTable[84] := @Func84;
    +  fIdentFuncTable[85] := @Func85;
    +  fIdentFuncTable[86] := @Func86;
    +  fIdentFuncTable[87] := @Func87;
    +  fIdentFuncTable[88] := @Func88;
    +  fIdentFuncTable[89] := @Func89;
    +  fIdentFuncTable[90] := @Func90;
    +  fIdentFuncTable[91] := @Func91;
    +  fIdentFuncTable[92] := @Func92;
    +  fIdentFuncTable[93] := @Func93;
    +  fIdentFuncTable[94] := @Func94;
    +  fIdentFuncTable[95] := @Func95;
    +  fIdentFuncTable[96] := @Func96;
    +  fIdentFuncTable[98] := @Func98;
    +  fIdentFuncTable[99] := @Func99;
    +  fIdentFuncTable[100] := @Func100;
    +  fIdentFuncTable[101] := @Func101;
    +  fIdentFuncTable[102] := @Func102;
    +  fIdentFuncTable[103] := @Func103;
    +  fIdentFuncTable[105] := @Func105;
    +  fIdentFuncTable[106] := @Func106;
    +  fIdentFuncTable[107] := @Func107;
    +  fIdentFuncTable[108] := @Func108;
    +  fIdentFuncTable[109] := @Func109;
    +  fIdentFuncTable[110] := @Func110;
    +  fIdentFuncTable[111] := @Func111;
    +  fIdentFuncTable[113] := @Func113;
    +  fIdentFuncTable[114] := @Func114;
    +  fIdentFuncTable[115] := @Func115;
    +  fIdentFuncTable[116] := @Func116;
    +  fIdentFuncTable[117] := @Func117;
    +  fIdentFuncTable[118] := @Func118;
    +  fIdentFuncTable[119] := @Func119;
    +  fIdentFuncTable[120] := @Func120;
    +  fIdentFuncTable[121] := @Func121;
    +  fIdentFuncTable[122] := @Func122;
    +  fIdentFuncTable[123] := @Func123;
    +  fIdentFuncTable[124] := @Func124;
    +  fIdentFuncTable[125] := @Func125;
    +  fIdentFuncTable[126] := @Func126;
    +  fIdentFuncTable[128] := @Func128;
    +  fIdentFuncTable[129] := @Func129;
    +  fIdentFuncTable[130] := @Func130;
    +  fIdentFuncTable[131] := @Func131;
    +  fIdentFuncTable[132] := @Func132;
    +  fIdentFuncTable[133] := @Func133;
    +  fIdentFuncTable[135] := @Func135;
    +  fIdentFuncTable[136] := @Func136;
    +  fIdentFuncTable[139] := @Func139;
    +  fIdentFuncTable[140] := @Func140;
    +  fIdentFuncTable[142] := @Func142;
    +  fIdentFuncTable[143] := @Func143;
    +  fIdentFuncTable[144] := @Func144;
    +  fIdentFuncTable[145] := @Func145;
    +  fIdentFuncTable[146] := @Func146;
    +  fIdentFuncTable[147] := @Func147;
    +  fIdentFuncTable[150] := @Func150;
    +  fIdentFuncTable[155] := @Func155;
    +  fIdentFuncTable[157] := @Func157;
    +  fIdentFuncTable[158] := @Func158;
    +  fIdentFuncTable[160] := @Func160;
    +  fIdentFuncTable[162] := @Func162;
    +  fIdentFuncTable[166] := @Func166;
    +  fIdentFuncTable[167] := @Func167;
    +  fIdentFuncTable[169] := @Func169;
    +  fIdentFuncTable[170] := @Func170;
    +  fIdentFuncTable[176] := @Func176;
    +  fIdentFuncTable[177] := @Func177;
    +  fIdentFuncTable[178] := @Func178;
    +  fIdentFuncTable[188] := @Func188;
    +  fIdentFuncTable[189] := @Func189;
    +  fIdentFuncTable[210] := @Func210;
    +  fIdentFuncTable[220] := @Func220;
    +  fIdentFuncTable[222] := @Func222;
    +  fIdentFuncTable[252] := @Func252;
     end;
     
     function TSynJScriptSyn.KeyHash(ToHash: PChar): Integer;
    @@ -1472,7 +1458,7 @@
       fToIdent := MayBe;
       HashKey := KeyHash(MayBe);
       if HashKey < 253 then
    -    Result := fIdentFuncTable[HashKey]{$IFDEF FPC}(){$ENDIF}
    +    Result := fIdentFuncTable[HashKey]()
       else
         Result := tkIdentifier;
     end;
    @@ -1483,25 +1469,25 @@
     begin
       for I := #0 to #255 do
         case I of
    -      '&': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AndSymbolProc;
    -      #13: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
    -      'A'..'Z', 'a'..'z', '_': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}IdentProc;
    -      #10: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
    -      '-': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MinusProc;
    -      '%': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}ModSymbolProc;
    -      #0: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
    -      '0'..'9': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NumberProc;
    -      '|': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}OrSymbolProc;
    -      '+': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PlusProc;
    -      '.': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PointProc;
    -      '/': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SlashProc;
    -      #1..#9, #11, #12, #14..#32: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
    -      '*': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StarProc;
    -      '"', #39: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StringProc;
    +      '&': fProcTable[I] := @AndSymbolProc;
    +      #13: fProcTable[I] := @CRProc;
    +      'A'..'Z', 'a'..'z', '_': fProcTable[I] := @IdentProc;
    +      #10: fProcTable[I] := @LFProc;
    +      '-': fProcTable[I] := @MinusProc;
    +      '%': fProcTable[I] := @ModSymbolProc;
    +      #0: fProcTable[I] := @NullProc;
    +      '0'..'9': fProcTable[I] := @NumberProc;
    +      '|': fProcTable[I] := @OrSymbolProc;
    +      '+': fProcTable[I] := @PlusProc;
    +      '.': fProcTable[I] := @PointProc;
    +      '/': fProcTable[I] := @SlashProc;
    +      #1..#9, #11, #12, #14..#32: fProcTable[I] := @SpaceProc;
    +      '*': fProcTable[I] := @StarProc;
    +      '"', #39: fProcTable[I] := @StringProc;
           '~', '{', '}', ',', '(', ')', '[', ']', '<', '>', ':', '?', ';', '!', '=':
    -        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SymbolProc;
    +        fProcTable[I] := @SymbolProc;
         else
    -      fProcTable[I] := {$IFDEF FPC}@{$ENDIF}UnknownProc;
    +      fProcTable[I] := @UnknownProc;
         end;
     end;
     
    @@ -1528,14 +1514,14 @@
       AddAttribute(fStringAttri);
       fSymbolAttri := TSynHighlighterAttributes.Create(SYNS_AttrSymbol, SYNS_XML_AttrSymbol);
       AddAttribute(fSymbolAttri);
    -  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
    +  SetAttributesOnChange(@DefHighlightChange);
       InitIdent;
       MakeMethodTables;
       fDefaultFilter := SYNS_FilterJScript;
       fRange := rsUnknown;
     end;
     
    -procedure TSynJScriptSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer);
    +procedure TSynJScriptSyn.SetLine(const NewValue: String; LineNumber: Integer);
     begin
       inherited;
       fLine := PChar(NewValue);
    @@ -1735,10 +1721,8 @@
       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;
     
    @@ -1788,13 +1772,11 @@
       Result := fTokenId;
     end;
     
    -{$IFDEF SYN_LAZARUS}
     procedure TSynJScriptSyn.GetTokenEx(out TokenStart: PChar; out TokenLength: integer);
     begin
       TokenLength:=Run-fTokenPos;
       TokenStart:=FLine + fTokenPos;
     end;
    -{$ENDIF}
     
     function TSynJScriptSyn.GetTokenAttribute: TSynHighlighterAttributes;
     begin
    Index: synhighlighterlfm.pas
    ===================================================================
    --- synhighlighterlfm.pas	(revision 37490)
    +++ synhighlighterlfm.pas	(working copy)
    @@ -136,12 +136,10 @@
         function GetEol: Boolean; override;
         function GetRange: Pointer; override;
         function GetTokenID: TtkTokenKind;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
    +    procedure SetLine(const NewValue: String;
           LineNumber: Integer); override;
         function GetToken: String; override;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
    -    {$ENDIF}
         function GetTokenAttribute: TSynHighlighterAttributes; override;
         function GetTokenKind: integer; override;
         function GetTokenPos: Integer; override;
    @@ -172,7 +170,7 @@
     uses
       SynEditStrConst;
     
    -{ A couple of useful Delphi Form functions }
    +{ A couple of useful Lazarus Form functions }
     
     function LoadLFMFile2Strings(const AFile: string; AStrings: TStrings;
       var WasText: boolean): integer;
    @@ -244,28 +242,28 @@
     begin
       for I := #0 to #255 do
         case I of
    -      '#': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AsciiCharProc;
    -      '}': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceCloseProc;
    -      '{': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceOpenProc;
    -      #13: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
    +      '#': fProcTable[I] := @AsciiCharProc;
    +      '}': fProcTable[I] := @BraceCloseProc;
    +      '{': fProcTable[I] := @BraceOpenProc;
    +      #13: fProcTable[I] := @CRProc;
           'A'..'Z', 'a'..'z', '_':
             if I in ['e', 'E'] then
    -          fProcTable[I] := {$IFDEF FPC}@{$ENDIF}EndProc
    +          fProcTable[I] := @EndProc
             else if I in ['o', 'O'] then
    -          fProcTable[I] := {$IFDEF FPC}@{$ENDIF}ObjectProc
    +          fProcTable[I] := @ObjectProc
             else if I in ['i', 'I'] then
    -          fProcTable[I] := {$IFDEF FPC}@{$ENDIF}InheritedInlineProc
    +          fProcTable[I] := @InheritedInlineProc
             else
    -          fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AltProc;
    -      '$': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}IntegerProc;
    -      #10: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
    -      #0: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
    -      '0'..'9': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NumberProc;
    +          fProcTable[I] := @AltProc;
    +      '$': fProcTable[I] := @IntegerProc;
    +      #10: fProcTable[I] := @LFProc;
    +      #0: fProcTable[I] := @NullProc;
    +      '0'..'9': fProcTable[I] := @NumberProc;
           '(', ')', '/', '=', '<', '>', '.', ',', '[', ']':
    -        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SymbolProc;
    -      #1..#9, #11, #12, #14..#32: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
    -      #39: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StringProc;
    -    else fProcTable[I] := {$IFDEF FPC}@{$ENDIF}UnknownProc;
    +        fProcTable[I] := @SymbolProc;
    +      #1..#9, #11, #12, #14..#32: fProcTable[I] := @SpaceProc;
    +      #39: fProcTable[I] := @StringProc;
    +    else fProcTable[I] := @UnknownProc;
         end;
     end;
     
    @@ -294,7 +292,7 @@
       AddAttribute(fStringAttri);
       fSymbolAttri := TSynHighlighterAttributes.Create(SYNS_AttrSymbol, SYNS_XML_AttrSymbol);
       AddAttribute(fSymbolAttri);
    -  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
    +  SetAttributesOnChange(@DefHighlightChange);
       MakeMethodTables;
       fDefaultFilter := SYNS_FilterLFM;
       fRange := rsUnknown;
    @@ -305,7 +303,7 @@
       inherited Destroy;
     end;
     
    -procedure TSynLFMSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
    +procedure TSynLFMSyn.SetLine(const NewValue: String;
       LineNumber: Integer);
     begin
       inherited;
    @@ -509,10 +507,8 @@
       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;
     
    @@ -523,7 +519,7 @@
         if fLine[Run] = #0 then NullProc
                            else CommentProc;
       end else
    -    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
    +    fProcTable[fLine[Run]]();
     end;
     
     function TSynLFMSyn.GetDefaultAttribute(Index: integer): TSynHighlighterAttributes;
    @@ -565,14 +561,12 @@
       SetString(Result, (FLine + fTokenPos), Len);
     end;
     
    -{$IFDEF SYN_LAZARUS}
     procedure TSynLFMSyn.GetTokenEx(out TokenStart: PChar;
       out TokenLength: integer);
     begin
       TokenLength:=Run-fTokenPos;
       TokenStart:=FLine + fTokenPos;
     end;
    -{$ENDIF}
     
     function TSynLFMSyn.GetTokenAttribute: TSynHighlighterAttributes;
     begin
    Index: synhighlightermulti.pas
    ===================================================================
    --- synhighlightermulti.pas	(revision 37490)
    +++ synhighlightermulti.pas	(working copy)
    @@ -175,10 +175,8 @@
         procedure SetCaseSensitive(const Value: Boolean);
         procedure SetVirtualLines(const AValue: TSynHLightMultiVirtualLines);
       protected
    -{$IFDEF SYN_COMPILER_3_UP}
         function GetDisplayName: String; override;
         procedure SetDisplayName(const Value: String); override;
    -{$ENDIF}
       public
         constructor Create(TheCollection: TCollection); override;
         destructor Destroy; override;
    @@ -216,10 +214,8 @@
         procedure SetCurrentLine(const AValue: String);
         procedure SetItems(Index: integer; const Value: TSynHighlighterMultiScheme);
       protected
    -{$IFDEF SYN_COMPILER_3_UP}
         function GetOwner: TPersistent; override;
         procedure Update(Item: TCollectionItem); override;
    -{$ENDIF}
         procedure Notify(Item: TCollectionItem;Action: TCollectionNotification); override;
       public
         constructor Create(aOwner: TSynMultiSyn);
    @@ -317,7 +313,7 @@
         function  GetTokenAttribute: TSynHighlighterAttributes; override;
         function  GetTokenKind: integer; override;
         function  GetTokenPos: Integer; override; // 0-based
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string; LineNumber: Integer); override;
    +    procedure SetLine(const NewValue: string; LineNumber: Integer); override;
         function  GetRange: Pointer; override;
         procedure SetRange(Value: Pointer); override;
         procedure ResetRange; override;
    @@ -1193,7 +1189,7 @@
     
     procedure TSynMultiSyn.HookHighlighter(aHL: TSynCustomHighlighter);
     begin
    -  aHL.HookAttrChangeEvent( {$IFDEF FPC}@{$ENDIF}DefHighlightChange );
    +  aHL.HookAttrChangeEvent( @DefHighlightChange );
     end;
     
     procedure TSynMultiSyn.Next;
    @@ -1433,7 +1429,7 @@
       Result := TSynHighlighterMultiRangeList(inherited CurrentRanges)
     end;
     
    -procedure TSynMultiSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string;
    +procedure TSynMultiSyn.SetLine(const NewValue: string;
       LineNumber: Integer);
       procedure InitRunSection(ASchemeIdx: Integer);
       var
    @@ -1520,7 +1516,7 @@
     begin
       if csDestroying in aHL.ComponentState then
         Exit;
    -  aHL.UnhookAttrChangeEvent( {$IFDEF FPC}@{$ENDIF}DefHighlightChange );
    +  aHL.UnhookAttrChangeEvent( @DefHighlightChange );
     end;
     
     function TSynMultiSyn.GetSampleSource: string;
    @@ -1612,19 +1608,16 @@
         Items[i].ClearLinesSet;
     end;
     
    -{$IFDEF SYN_COMPILER_3_UP}
     function TSynHighlighterMultiSchemeList.GetOwner: TPersistent;
     begin
       Result := Owner;
     end;
    -{$ENDIF}
     
     procedure TSynHighlighterMultiSchemeList.SetItems(Index: integer; const Value: TSynHighlighterMultiScheme);
     begin
       inherited Items[Index] := Value;
     end;
     
    -{$IFDEF SYN_COMPILER_3_UP}
     procedure TSynHighlighterMultiSchemeList.Update(Item: TCollectionItem);
     begin
       // property of an Item changed
    @@ -1639,8 +1632,6 @@
       Owner.SchemeChanged;
     end;
     
    -{$ENDIF}
    -
     { TSynHighlighterMultiScheme }
     
     function TSynHighlighterMultiScheme.GetConvertedLine: String;
    @@ -1679,7 +1670,7 @@
       FEndExprScanner := TRegExpr.Create;
       fCaseSensitive := True;
       fMarkerAttri := TSynHighlighterAttributes.Create(SYNS_AttrMarker, SYNS_XML_AttrMarker);
    -  fMarkerAttri.OnChange := {$IFDEF FPC}@{$ENDIF}MarkerAttriChanged;
    +  fMarkerAttri.OnChange := @MarkerAttriChanged;
       MarkerAttri.Background := clYellow;
       MarkerAttri.Style := [fsBold];
       MarkerAttri.InternalSaveDefaultValues;
    @@ -1769,7 +1760,6 @@
       until False;
     end;
     
    -{$IFDEF SYN_COMPILER_3_UP}
     function TSynHighlighterMultiScheme.GetDisplayName: String;
     begin
       if SchemeName <> '' then
    @@ -1777,7 +1767,6 @@
       else
         Result := inherited GetDisplayName;
     end;
    -{$ENDIF SYN_COMPILER_3_UP}
     
     procedure TSynHighlighterMultiScheme.MarkerAttriChanged(Sender: TObject);
     begin
    @@ -1805,12 +1794,10 @@
         FHighlighter.CurrentLines := AValue;
     end;
     
    -{$IFDEF SYN_COMPILER_3_UP}
     procedure TSynHighlighterMultiScheme.SetDisplayName(const Value: String);
     begin
       SchemeName := Value;
     end;
    -{$ENDIF SYN_COMPILER_3_UP}
     
     procedure TSynHighlighterMultiScheme.SetEndExpr(const Value: string);
     var OldValue: String;
    Index: synhighlighterperl.pas
    ===================================================================
    --- synhighlighterperl.pas	(revision 37490)
    +++ synhighlighterperl.pas	(working copy)
    @@ -52,16 +52,8 @@
     
     uses
       SysUtils, Classes,
    -  {$IFDEF SYN_CLX}
    -  Qt, QControls, QGraphics,
    -  {$ELSE}
    -  {$IFDEF SYN_LAZARUS}
       LCLIntf, LCLType,
    -  {$ELSE}
    -  Windows, Messages, Registry,
    -  {$ENDIF}
       Controls, Graphics,
    -  {$ENDIF}
       SynEditTypes, SynEditHighlighter;
     
     type
    @@ -370,12 +362,10 @@
           override;
         function GetEol: Boolean; override;
         function GetTokenID: TtkTokenKind;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
    +    procedure SetLine(const NewValue: String;
           LineNumber:Integer); override;
         function GetToken: String; override;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
    -    {$ENDIF}
         function GetTokenAttribute: TSynHighlighterAttributes; override;
         function GetTokenKind: integer; override;
         function GetTokenPos: Integer; override;
    @@ -440,245 +430,245 @@
     begin
       for I := 0 to 2167 do
         Case I of
    -      109: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}Func109;
    -      113: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func113;
    -      196: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func196;
    -      201: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func201;
    -      204: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func204;
    -      207: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func207;
    -      209: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func209;
    -      211: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func211;
    -      214: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func214;
    -      216: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func216;
    -      219: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func219;
    -      221: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func221;
    -      224: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func224;
    -      225: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func225;
    -      226: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func226;
    -      230: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func230;
    -      232: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func232;
    -      233: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func233;
    -      248: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func248;
    -      254: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func254;
    -      255: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func255;
    -      257: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func257;
    -      262: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func262;
    -      263: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func263;
    -      269: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func269;
    -      280: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func280;
    -      282: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func282;
    -      306: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func306;
    -      307: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func307;
    -      310: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func310;
    -      314: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func314;
    -      317: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func317;
    -      318: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func318;
    -      320: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func320;
    -      322: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func322;
    -      325: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func325;
    -      326: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func326;
    -      327: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func327;
    -      330: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func330;
    -      331: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func331;
    -      333: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func333;
    -      335: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func335;
    -      337: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func337;
    -      338: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func338;
    -      340: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func340;
    -      345: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func345;
    -      346: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func346;
    -      368: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func368;
    -      401: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func401;
    -      412: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func412;
    -      413: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func413;
    -      415: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func415;
    -      419: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func419;
    -      420: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func420;
    -      421: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func421;
    -      424: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func424;
    -      425: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func425;
    -      426: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func426;
    -      428: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func428;
    -      430: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func430;
    -      431: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func431;
    -      432: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func432;
    -      433: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func433;
    -      434: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func434;
    -      436: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func436;
    -      437: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func437;
    -      438: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func438;
    -      439: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func439;
    -      440: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func440;
    -      441: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func441;
    -      442: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func442;
    -      444: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func444;
    -      445: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func445;
    -      447: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func447;
    -      448: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func448;
    -      456: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func456;
    -      458: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func458;
    -      470: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func470;
    -      477: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func477;
    -      502: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func502;
    -      522: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func522;
    -      523: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func523;
    -      525: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func525;
    -      527: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func527;
    -      530: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func530;
    -      531: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func531;
    -      534: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func534;
    -      535: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func535;
    -      536: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func536;
    -      537: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func537;
    -      539: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func539;
    -      542: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func542;
    -      543: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func543;
    -      545: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func545;
    -      546: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func546;
    -      547: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func547;
    -      548: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func548;
    -      549: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func549;
    -      552: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func552;
    -      555: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func555;
    -      556: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func556;
    -      557: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func557;
    -      562: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func562;
    -      569: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func569;
    -      570: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func570;
    -      622: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func622;
    -      624: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func624;
    -      627: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func627;
    -      630: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func630;
    -      632: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func632;
    -      637: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func637;
    -      640: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func640;
    -      642: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func642;
    -      643: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func643;
    -      645: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func645;
    -      647: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func647;
    -      648: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func648;
    -      649: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func649;
    -      650: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func650;
    -      651: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func651;
    -      652: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func652;
    -      655: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func655;
    -      656: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func656;
    -      657: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func657;
    -      658: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func658;
    -      665: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func665;
    -      666: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func666;
    -      667: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func667;
    -      672: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func672;
    -      675: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func675;
    -      677: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func677;
    -      687: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func687;
    -      688: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func688;
    -      716: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func716;
    -      719: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func719;
    -      727: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func727;
    -      728: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func728;
    -      731: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func731;
    -      734: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func734;
    -      740: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func740;
    -      741: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func741;
    -      743: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func743;
    -      746: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func746;
    -      749: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func749;
    -      750: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func750;
    -      752: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func752;
    -      753: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func753;
    -      754: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func754;
    -      759: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func759;
    -      761: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func761;
    -      762: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func762;
    -      763: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func763;
    -      764: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func764;
    -      765: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func765;
    -      768: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func768;
    -      769: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func769;
    -      773: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func773;
    -      774: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func774;
    -      775: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func775;
    -      815: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func815;
    -      821: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func821;
    -      841: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func841;
    -      842: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func842;
    -      845: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func845;
    -      853: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func853;
    -      855: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func855;
    -      857: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func857;
    -      860: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func860;
    -      864: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func864;
    -      867: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func867;
    -      868: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func868;
    -      869: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func869;
    -      870: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func870;
    -      873: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func873;
    -      874: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func874;
    -      876: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func876;
    -      877: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func877;
    -      878: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func878;
    -      881: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func881;
    -      883: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func883;
    -      890: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func890;
    -      892: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func892;
    -      906: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func906;
    -      933: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func933;
    -      954: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func954;
    -      956: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func956;
    -      965: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func965;
    -      968: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func968;
    -      974: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func974;
    -      978: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func978;
    -      981: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func981;
    -      985: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func985;
    -      986: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func986;
    -      988: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func988;
    -      1056: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1056;
    -      1077: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1077;
    -      1079: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1079;
    -      1084: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1084;
    -      1086: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1086;
    -      1091: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1091;
    -      1093: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1093;
    -      1095: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1095;
    -      1103: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1103;
    -      1105: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1105;
    -      1107: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1107;
    -      1136: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1136;
    -      1158: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1158;
    -      1165: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1165;
    -      1169: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1169;
    -      1172: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1172;
    -      1176: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1176;
    -      1202: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1202;
    -      1211: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1211;
    -      1215: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1215;
    -      1218: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1218;
    -      1223: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1223;
    -      1230: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1230;
    -      1273: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1273;
    -      1277: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1277;
    -      1283: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1283;
    -      1327: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1327;
    -      1343: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1343;
    -      1361: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1361;
    -      1379: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1379;
    -      1396: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1396;
    -      1402: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1402;
    -      1404: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1404;
    -      1409: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1409;
    -      1421: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1421;
    -      1425: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1425;
    -      1440: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1440;
    -      1520: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1520;
    -      1523: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1523;
    -      1673: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1673;
    -      1752: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1752;
    -      1762: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1762;
    -      1768: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1768;
    -      2167: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func2167;
    -    else fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}AltFunc;
    +      109: fIdentFuncTable[I] := @Func109;
    +      113: fIdentFuncTable[I] :=@func113;
    +      196: fIdentFuncTable[I] :=@func196;
    +      201: fIdentFuncTable[I] :=@func201;
    +      204: fIdentFuncTable[I] :=@func204;
    +      207: fIdentFuncTable[I] :=@func207;
    +      209: fIdentFuncTable[I] :=@func209;
    +      211: fIdentFuncTable[I] :=@func211;
    +      214: fIdentFuncTable[I] :=@func214;
    +      216: fIdentFuncTable[I] :=@func216;
    +      219: fIdentFuncTable[I] :=@func219;
    +      221: fIdentFuncTable[I] :=@func221;
    +      224: fIdentFuncTable[I] :=@func224;
    +      225: fIdentFuncTable[I] :=@func225;
    +      226: fIdentFuncTable[I] :=@func226;
    +      230: fIdentFuncTable[I] :=@func230;
    +      232: fIdentFuncTable[I] :=@func232;
    +      233: fIdentFuncTable[I] :=@func233;
    +      248: fIdentFuncTable[I] :=@func248;
    +      254: fIdentFuncTable[I] :=@func254;
    +      255: fIdentFuncTable[I] :=@func255;
    +      257: fIdentFuncTable[I] :=@func257;
    +      262: fIdentFuncTable[I] :=@func262;
    +      263: fIdentFuncTable[I] :=@func263;
    +      269: fIdentFuncTable[I] :=@func269;
    +      280: fIdentFuncTable[I] :=@func280;
    +      282: fIdentFuncTable[I] :=@func282;
    +      306: fIdentFuncTable[I] :=@func306;
    +      307: fIdentFuncTable[I] :=@func307;
    +      310: fIdentFuncTable[I] :=@func310;
    +      314: fIdentFuncTable[I] :=@func314;
    +      317: fIdentFuncTable[I] :=@func317;
    +      318: fIdentFuncTable[I] :=@func318;
    +      320: fIdentFuncTable[I] :=@func320;
    +      322: fIdentFuncTable[I] :=@func322;
    +      325: fIdentFuncTable[I] :=@func325;
    +      326: fIdentFuncTable[I] :=@func326;
    +      327: fIdentFuncTable[I] :=@func327;
    +      330: fIdentFuncTable[I] :=@func330;
    +      331: fIdentFuncTable[I] :=@func331;
    +      333: fIdentFuncTable[I] :=@func333;
    +      335: fIdentFuncTable[I] :=@func335;
    +      337: fIdentFuncTable[I] :=@func337;
    +      338: fIdentFuncTable[I] :=@func338;
    +      340: fIdentFuncTable[I] :=@func340;
    +      345: fIdentFuncTable[I] :=@func345;
    +      346: fIdentFuncTable[I] :=@func346;
    +      368: fIdentFuncTable[I] :=@func368;
    +      401: fIdentFuncTable[I] :=@func401;
    +      412: fIdentFuncTable[I] :=@func412;
    +      413: fIdentFuncTable[I] :=@func413;
    +      415: fIdentFuncTable[I] :=@func415;
    +      419: fIdentFuncTable[I] :=@func419;
    +      420: fIdentFuncTable[I] :=@func420;
    +      421: fIdentFuncTable[I] :=@func421;
    +      424: fIdentFuncTable[I] :=@func424;
    +      425: fIdentFuncTable[I] :=@func425;
    +      426: fIdentFuncTable[I] :=@func426;
    +      428: fIdentFuncTable[I] :=@func428;
    +      430: fIdentFuncTable[I] :=@func430;
    +      431: fIdentFuncTable[I] :=@func431;
    +      432: fIdentFuncTable[I] :=@func432;
    +      433: fIdentFuncTable[I] :=@func433;
    +      434: fIdentFuncTable[I] :=@func434;
    +      436: fIdentFuncTable[I] :=@func436;
    +      437: fIdentFuncTable[I] :=@func437;
    +      438: fIdentFuncTable[I] :=@func438;
    +      439: fIdentFuncTable[I] :=@func439;
    +      440: fIdentFuncTable[I] :=@func440;
    +      441: fIdentFuncTable[I] :=@func441;
    +      442: fIdentFuncTable[I] :=@func442;
    +      444: fIdentFuncTable[I] :=@func444;
    +      445: fIdentFuncTable[I] :=@func445;
    +      447: fIdentFuncTable[I] :=@func447;
    +      448: fIdentFuncTable[I] :=@func448;
    +      456: fIdentFuncTable[I] :=@func456;
    +      458: fIdentFuncTable[I] :=@func458;
    +      470: fIdentFuncTable[I] :=@func470;
    +      477: fIdentFuncTable[I] :=@func477;
    +      502: fIdentFuncTable[I] :=@func502;
    +      522: fIdentFuncTable[I] :=@func522;
    +      523: fIdentFuncTable[I] :=@func523;
    +      525: fIdentFuncTable[I] :=@func525;
    +      527: fIdentFuncTable[I] :=@func527;
    +      530: fIdentFuncTable[I] :=@func530;
    +      531: fIdentFuncTable[I] :=@func531;
    +      534: fIdentFuncTable[I] :=@func534;
    +      535: fIdentFuncTable[I] :=@func535;
    +      536: fIdentFuncTable[I] :=@func536;
    +      537: fIdentFuncTable[I] :=@func537;
    +      539: fIdentFuncTable[I] :=@func539;
    +      542: fIdentFuncTable[I] :=@func542;
    +      543: fIdentFuncTable[I] :=@func543;
    +      545: fIdentFuncTable[I] :=@func545;
    +      546: fIdentFuncTable[I] :=@func546;
    +      547: fIdentFuncTable[I] :=@func547;
    +      548: fIdentFuncTable[I] :=@func548;
    +      549: fIdentFuncTable[I] :=@func549;
    +      552: fIdentFuncTable[I] :=@func552;
    +      555: fIdentFuncTable[I] :=@func555;
    +      556: fIdentFuncTable[I] :=@func556;
    +      557: fIdentFuncTable[I] :=@func557;
    +      562: fIdentFuncTable[I] :=@func562;
    +      569: fIdentFuncTable[I] :=@func569;
    +      570: fIdentFuncTable[I] :=@func570;
    +      622: fIdentFuncTable[I] :=@func622;
    +      624: fIdentFuncTable[I] :=@func624;
    +      627: fIdentFuncTable[I] :=@func627;
    +      630: fIdentFuncTable[I] :=@func630;
    +      632: fIdentFuncTable[I] :=@func632;
    +      637: fIdentFuncTable[I] :=@func637;
    +      640: fIdentFuncTable[I] :=@func640;
    +      642: fIdentFuncTable[I] :=@func642;
    +      643: fIdentFuncTable[I] :=@func643;
    +      645: fIdentFuncTable[I] :=@func645;
    +      647: fIdentFuncTable[I] :=@func647;
    +      648: fIdentFuncTable[I] :=@func648;
    +      649: fIdentFuncTable[I] :=@func649;
    +      650: fIdentFuncTable[I] :=@func650;
    +      651: fIdentFuncTable[I] :=@func651;
    +      652: fIdentFuncTable[I] :=@func652;
    +      655: fIdentFuncTable[I] := @func655;
    +      656: fIdentFuncTable[I] := @func656;
    +      657: fIdentFuncTable[I] := @func657;
    +      658: fIdentFuncTable[I] := @func658;
    +      665: fIdentFuncTable[I] := @func665;
    +      666: fIdentFuncTable[I] := @func666;
    +      667: fIdentFuncTable[I] := @func667;
    +      672: fIdentFuncTable[I] := @func672;
    +      675: fIdentFuncTable[I] := @func675;
    +      677: fIdentFuncTable[I] := @func677;
    +      687: fIdentFuncTable[I] := @func687;
    +      688: fIdentFuncTable[I] := @func688;
    +      716: fIdentFuncTable[I] := @func716;
    +      719: fIdentFuncTable[I] := @func719;
    +      727: fIdentFuncTable[I] := @func727;
    +      728: fIdentFuncTable[I] := @func728;
    +      731: fIdentFuncTable[I] := @func731;
    +      734: fIdentFuncTable[I] := @func734;
    +      740: fIdentFuncTable[I] := @func740;
    +      741: fIdentFuncTable[I] := @func741;
    +      743: fIdentFuncTable[I] := @func743;
    +      746: fIdentFuncTable[I] := @func746;
    +      749: fIdentFuncTable[I] := @func749;
    +      750: fIdentFuncTable[I] := @func750;
    +      752: fIdentFuncTable[I] := @func752;
    +      753: fIdentFuncTable[I] := @func753;
    +      754: fIdentFuncTable[I] := @func754;
    +      759: fIdentFuncTable[I] := @func759;
    +      761: fIdentFuncTable[I] := @func761;
    +      762: fIdentFuncTable[I] := @func762;
    +      763: fIdentFuncTable[I] := @func763;
    +      764: fIdentFuncTable[I] := @func764;
    +      765: fIdentFuncTable[I] := @func765;
    +      768: fIdentFuncTable[I] := @func768;
    +      769: fIdentFuncTable[I] := @func769;
    +      773: fIdentFuncTable[I] := @func773;
    +      774: fIdentFuncTable[I] := @func774;
    +      775: fIdentFuncTable[I] := @func775;
    +      815: fIdentFuncTable[I] := @func815;
    +      821: fIdentFuncTable[I] := @func821;
    +      841: fIdentFuncTable[I] := @func841;
    +      842: fIdentFuncTable[I] := @func842;
    +      845: fIdentFuncTable[I] := @func845;
    +      853: fIdentFuncTable[I] := @func853;
    +      855: fIdentFuncTable[I] := @func855;
    +      857: fIdentFuncTable[I] := @func857;
    +      860: fIdentFuncTable[I] := @func860;
    +      864: fIdentFuncTable[I] := @func864;
    +      867: fIdentFuncTable[I] := @func867;
    +      868: fIdentFuncTable[I] := @func868;
    +      869: fIdentFuncTable[I] := @func869;
    +      870: fIdentFuncTable[I] := @func870;
    +      873: fIdentFuncTable[I] := @func873;
    +      874: fIdentFuncTable[I] := @func874;
    +      876: fIdentFuncTable[I] := @func876;
    +      877: fIdentFuncTable[I] := @func877;
    +      878: fIdentFuncTable[I] := @func878;
    +      881: fIdentFuncTable[I] := @func881;
    +      883: fIdentFuncTable[I] := @func883;
    +      890: fIdentFuncTable[I] := @func890;
    +      892: fIdentFuncTable[I] := @func892;
    +      906: fIdentFuncTable[I] := @func906;
    +      933: fIdentFuncTable[I] := @func933;
    +      954: fIdentFuncTable[I] := @func954;
    +      956: fIdentFuncTable[I] := @func956;
    +      965: fIdentFuncTable[I] := @func965;
    +      968: fIdentFuncTable[I] := @func968;
    +      974: fIdentFuncTable[I] := @func974;
    +      978: fIdentFuncTable[I] := @func978;
    +      981: fIdentFuncTable[I] := @func981;
    +      985: fIdentFuncTable[I] := @func985;
    +      986: fIdentFuncTable[I] := @func986;
    +      988: fIdentFuncTable[I] := @func988;
    +      1056: fIdentFuncTable[I] := @func1056;
    +      1077: fIdentFuncTable[I] := @func1077;
    +      1079: fIdentFuncTable[I] := @func1079;
    +      1084: fIdentFuncTable[I] := @func1084;
    +      1086: fIdentFuncTable[I] := @func1086;
    +      1091: fIdentFuncTable[I] := @func1091;
    +      1093: fIdentFuncTable[I] := @func1093;
    +      1095: fIdentFuncTable[I] := @func1095;
    +      1103: fIdentFuncTable[I] := @func1103;
    +      1105: fIdentFuncTable[I] := @func1105;
    +      1107: fIdentFuncTable[I] := @func1107;
    +      1136: fIdentFuncTable[I] := @func1136;
    +      1158: fIdentFuncTable[I] := @func1158;
    +      1165: fIdentFuncTable[I] := @func1165;
    +      1169: fIdentFuncTable[I] := @func1169;
    +      1172: fIdentFuncTable[I] := @func1172;
    +      1176: fIdentFuncTable[I] := @func1176;
    +      1202: fIdentFuncTable[I] := @func1202;
    +      1211: fIdentFuncTable[I] := @func1211;
    +      1215: fIdentFuncTable[I] := @func1215;
    +      1218: fIdentFuncTable[I] := @func1218;
    +      1223: fIdentFuncTable[I] := @func1223;
    +      1230: fIdentFuncTable[I] := @func1230;
    +      1273: fIdentFuncTable[I] := @func1273;
    +      1277: fIdentFuncTable[I] := @func1277;
    +      1283: fIdentFuncTable[I] := @func1283;
    +      1327: fIdentFuncTable[I] := @func1327;
    +      1343: fIdentFuncTable[I] := @func1343;
    +      1361: fIdentFuncTable[I] := @func1361;
    +      1379: fIdentFuncTable[I] := @func1379;
    +      1396: fIdentFuncTable[I] := @func1396;
    +      1402: fIdentFuncTable[I] := @func1402;
    +      1404: fIdentFuncTable[I] := @func1404;
    +      1409: fIdentFuncTable[I] := @func1409;
    +      1421: fIdentFuncTable[I] := @func1421;
    +      1425: fIdentFuncTable[I] := @func1425;
    +      1440: fIdentFuncTable[I] := @func1440;
    +      1520: fIdentFuncTable[I] := @func1520;
    +      1523: fIdentFuncTable[I] := @func1523;
    +      1673: fIdentFuncTable[I] := @func1673;
    +      1752: fIdentFuncTable[I] := @func1752;
    +      1762: fIdentFuncTable[I] := @func1762;
    +      1768: fIdentFuncTable[I] := @func1768;
    +      2167: fIdentFuncTable[I] := @func2167;
    +    else fIdentFuncTable[I] := @AltFunc;
         end;
     end;
     
    @@ -1959,7 +1949,7 @@
       fToIdent := MayBe;
       HashKey := KeyHash(MayBe);
       if HashKey < 2168 then
    -    Result := fIdentFuncTable[HashKey]{$IFDEF FPC}(){$ENDIF}
    +    Result := fIdentFuncTable[HashKey]()
       else
         Result := tkIdentifier;
     end;
    @@ -1970,32 +1960,32 @@
     begin
       for I := #0 to #255 do
         case I of
    -      '&': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AndSymbolProc;
    -      #13: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
    -      ':': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}ColonProc;
    -      '#': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CommentProc;
    -      '=': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}EqualProc;
    -      '>': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}GreaterProc;
    +      '&': fProcTable[I] := @AndSymbolProc;
    +      #13: fProcTable[I] := @CRProc;
    +      ':': fProcTable[I] := @ColonProc;
    +      '#': fProcTable[I] := @CommentProc;
    +      '=': fProcTable[I] := @EqualProc;
    +      '>': fProcTable[I] := @GreaterProc;
           '%', '@', '$', 'A'..'Z', 'a'..'z', '_':
    -           fProcTable[I] := {$IFDEF FPC}@{$ENDIF}IdentProc;
    -      #10: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
    -      '<': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LowerProc;
    -      '-': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MinusProc;
    -      '!': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NotSymbolProc;
    -      #0: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
    -      '0'..'9', '.': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NumberProc;
    -      '|': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}OrSymbolProc;
    -      '+': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PlusProc;
    -      '/': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SlashProc;
    -      #1..#9, #11, #12, #14..#32: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
    -      '*': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StarProc;
    -      #34: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StringInterpProc;
    -      #39: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StringLiteralProc;
    -      '^': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}XOrSymbolProc;
    +           fProcTable[I] := @IdentProc;
    +      #10: fProcTable[I] := @LFProc;
    +      '<': fProcTable[I] := @LowerProc;
    +      '-': fProcTable[I] := @MinusProc;
    +      '!': fProcTable[I] := @NotSymbolProc;
    +      #0: fProcTable[I] := @NullProc;
    +      '0'..'9', '.': fProcTable[I] := @NumberProc;
    +      '|': fProcTable[I] := @OrSymbolProc;
    +      '+': fProcTable[I] := @PlusProc;
    +      '/': fProcTable[I] := @SlashProc;
    +      #1..#9, #11, #12, #14..#32: fProcTable[I] := @SpaceProc;
    +      '*': fProcTable[I] := @StarProc;
    +      #34: fProcTable[I] := @StringInterpProc;
    +      #39: fProcTable[I] := @StringLiteralProc;
    +      '^': fProcTable[I] := @XOrSymbolProc;
           '(', ')', '[', ']', '\', '{', '}', ',', ';', '?', '~':
    -        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SymbolProc;
    +        fProcTable[I] := @SymbolProc;
         else
    -      fProcTable[I] := {$IFDEF FPC}@{$ENDIF}UnknownProc;
    +      fProcTable[I] := @UnknownProc;
         end;
     end;
     
    @@ -2029,13 +2019,13 @@
       fVariableAttri := TSynHighlighterAttributes.Create(SYNS_AttrVariable, SYNS_XML_AttrVariable);
       fVariableAttri.Style := [fsBold];
       AddAttribute(fVariableAttri);
    -  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
    +  SetAttributesOnChange(@DefHighlightChange);
       InitIdent;
       MakeMethodTables;
       fDefaultFilter := SYNS_FilterPerl;
     end; { Create }
     
    -procedure TSynPerlSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
    +procedure TSynPerlSyn.SetLine(const NewValue: String;
       LineNumber:Integer);
     begin
       inherited;
    @@ -2505,17 +2495,15 @@
       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;
     
     procedure TSynPerlSyn.Next;
     begin
       fTokenPos := Run;
    -  fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
    +  fProcTable[fLine[Run]]();
     end;
     
     function TSynPerlSyn.GetDefaultAttribute(Index: integer): TSynHighlighterAttributes;
    @@ -2546,14 +2534,12 @@
       SetString(Result, (FLine + fTokenPos), Len);
     end;
     
    -{$IFDEF SYN_LAZARUS}
     procedure TSynPerlSyn.GetTokenEx(out TokenStart: PChar;
       out TokenLength: integer);
     begin
       TokenLength:=Run-fTokenPos;
       TokenStart:=FLine + fTokenPos;
     end;
    -{$ENDIF}
     
     function TSynPerlSyn.GetTokenID: TtkTokenKind;
     begin
    Index: synhighlighterphp.pas
    ===================================================================
    --- synhighlighterphp.pas	(revision 37490)
    +++ synhighlighterphp.pas	(working copy)
    @@ -42,9 +42,7 @@
     The SynHighlighterPHP unit provides SynEdit with a PHP syntax highlighter.
     Thanks to Martin Waldenburg.
     }
    -{$IFNDEF QSYNHIGHLIGHTERPHP}
     unit SynHighlighterPHP;
    -{$ENDIF}
     
     {$I SynEdit.inc}
     
    @@ -52,21 +50,10 @@
     
     uses
       SysUtils, Classes,
    -  {$IFDEF SYN_CLX}
    -  Qt, QControls, QGraphics,
    -  QSynEditTypes,
    -  QSynEditHighlighter,
    -  {$ELSE}
    -  {$IFDEF SYN_LAZARUS}
       LCLIntf, LCLType,
    -  {$ELSE}
    -  Windows, Messages, Registry,
    -  {$ENDIF}
       Controls, Graphics,
       SynEditTypes, SynEditHighlighter;
    -  {$ENDIF}
     
    -
     type
       TtkTokenKind = (tkComment, tkIdentifier, tkInvalidSymbol, tkKey, tkNull,
         tkNumber, tkSpace, tkString, tkSymbol, tkUnknown, tkVariable);
    @@ -83,9 +70,7 @@
       private
         fRange: TRangeState;
         fLine: PChar;
    -    {$IFDEF SYN_LAZARUS}
         fLineLen: integer;
    -    {$ENDIF}
         fLineNumber: Integer;
         fProcTable: array[#0..#255] of TProcTableProc;
         Run: LongInt;
    @@ -206,11 +191,9 @@
         function GetEol: Boolean; override;
         function GetRange: Pointer; override;
         function GetTokenID: TtkTokenKind;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer); override;
    +    procedure SetLine(const NewValue: String; LineNumber: Integer); override;
         function GetToken: String; override;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
    -    {$ENDIF}
     
         function GetTokenAttribute: TSynHighlighterAttributes; override;
         function GetTokenKind: integer; override;
    @@ -241,11 +224,7 @@
     implementation
     
     uses
    -{$IFDEF SYN_CLX}
    -  QSynEditStrConst;
    -{$ELSE}
       SynEditStrConst;
    -{$ENDIF}
     
     var
       Identifiers: array[#0..#255] of ByteBool;
    @@ -277,55 +256,55 @@
     begin
       pF := PIdentFuncTableFunc(@fIdentFuncTable);
       for I := Low(fIdentFuncTable) to High(fIdentFuncTable) do begin
    -    pF^ := {$IFDEF FPC}@{$ENDIF}AltFunc;
    +    pF^ := @AltFunc;
         Inc(pF);
       end;
    -  fIdentFuncTable[15] := {$IFDEF FPC}@{$ENDIF}Func15;
    -  fIdentFuncTable[18] := {$IFDEF FPC}@{$ENDIF}Func18;
    -  fIdentFuncTable[19] := {$IFDEF FPC}@{$ENDIF}Func19;
    -  fIdentFuncTable[28] := {$IFDEF FPC}@{$ENDIF}Func28;
    -  fIdentFuncTable[31] := {$IFDEF FPC}@{$ENDIF}Func31;
    -  fIdentFuncTable[33] := {$IFDEF FPC}@{$ENDIF}Func33;
    -  fIdentFuncTable[36] := {$IFDEF FPC}@{$ENDIF}Func36;
    -  fIdentFuncTable[37] := {$IFDEF FPC}@{$ENDIF}Func37;
    -  fIdentFuncTable[38] := {$IFDEF FPC}@{$ENDIF}Func38;
    -  fIdentFuncTable[39] := {$IFDEF FPC}@{$ENDIF}Func39;
    -  fIdentFuncTable[40] := {$IFDEF FPC}@{$ENDIF}Func40;
    -  fIdentFuncTable[41] := {$IFDEF FPC}@{$ENDIF}Func41;
    -  fIdentFuncTable[42] := {$IFDEF FPC}@{$ENDIF}Func42;
    -  fIdentFuncTable[43] := {$IFDEF FPC}@{$ENDIF}Func43;
    -  fIdentFuncTable[49] := {$IFDEF FPC}@{$ENDIF}Func49;
    -  fIdentFuncTable[54] := {$IFDEF FPC}@{$ENDIF}Func54;
    -  fIdentFuncTable[55] := {$IFDEF FPC}@{$ENDIF}Func55;
    -  fIdentFuncTable[56] := {$IFDEF FPC}@{$ENDIF}Func56;
    -  fIdentFuncTable[57] := {$IFDEF FPC}@{$ENDIF}Func57;
    -  fIdentFuncTable[58] := {$IFDEF FPC}@{$ENDIF}Func58;
    -  fIdentFuncTable[59] := {$IFDEF FPC}@{$ENDIF}Func59;
    -  fIdentFuncTable[60] := {$IFDEF FPC}@{$ENDIF}Func60;
    -  fIdentFuncTable[62] := {$IFDEF FPC}@{$ENDIF}Func62;
    -  fIdentFuncTable[63] := {$IFDEF FPC}@{$ENDIF}Func63;
    -  fIdentFuncTable[64] := {$IFDEF FPC}@{$ENDIF}Func64;
    -  fIdentFuncTable[68] := {$IFDEF FPC}@{$ENDIF}Func68;
    -  fIdentFuncTable[69] := {$IFDEF FPC}@{$ENDIF}Func69;
    -  fIdentFuncTable[71] := {$IFDEF FPC}@{$ENDIF}Func71;
    -  fIdentFuncTable[72] := {$IFDEF FPC}@{$ENDIF}Func72;
    -  fIdentFuncTable[77] := {$IFDEF FPC}@{$ENDIF}Func77;
    -  fIdentFuncTable[78] := {$IFDEF FPC}@{$ENDIF}Func78;
    -  fIdentFuncTable[79] := {$IFDEF FPC}@{$ENDIF}Func79;
    -  fIdentFuncTable[80] := {$IFDEF FPC}@{$ENDIF}Func80;
    -  fIdentFuncTable[82] := {$IFDEF FPC}@{$ENDIF}Func82;
    -  fIdentFuncTable[87] := {$IFDEF FPC}@{$ENDIF}Func87;
    -  fIdentFuncTable[91] := {$IFDEF FPC}@{$ENDIF}Func91;
    -  fIdentFuncTable[93] := {$IFDEF FPC}@{$ENDIF}Func93;
    -  fIdentFuncTable[96] := {$IFDEF FPC}@{$ENDIF}Func96;
    -  fIdentFuncTable[101] := {$IFDEF FPC}@{$ENDIF}Func101;
    -  fIdentFuncTable[102] := {$IFDEF FPC}@{$ENDIF}Func102;
    -  fIdentFuncTable[105] := {$IFDEF FPC}@{$ENDIF}Func105;
    -  fIdentFuncTable[151] := {$IFDEF FPC}@{$ENDIF}Func151;
    -  fIdentFuncTable[156] := {$IFDEF FPC}@{$ENDIF}Func156;
    -  fIdentFuncTable[164] := {$IFDEF FPC}@{$ENDIF}Func164;
    -  fIdentFuncTable[177] := {$IFDEF FPC}@{$ENDIF}Func177;
    -  fIdentFuncTable[206] := {$IFDEF FPC}@{$ENDIF}Func206;
    +  fIdentFuncTable[15] := @Func15;
    +  fIdentFuncTable[18] := @Func18;
    +  fIdentFuncTable[19] := @Func19;
    +  fIdentFuncTable[28] := @Func28;
    +  fIdentFuncTable[31] := @Func31;
    +  fIdentFuncTable[33] := @Func33;
    +  fIdentFuncTable[36] := @Func36;
    +  fIdentFuncTable[37] := @Func37;
    +  fIdentFuncTable[38] := @Func38;
    +  fIdentFuncTable[39] := @Func39;
    +  fIdentFuncTable[40] := @Func40;
    +  fIdentFuncTable[41] := @Func41;
    +  fIdentFuncTable[42] := @Func42;
    +  fIdentFuncTable[43] := @Func43;
    +  fIdentFuncTable[49] := @Func49;
    +  fIdentFuncTable[54] := @Func54;
    +  fIdentFuncTable[55] := @Func55;
    +  fIdentFuncTable[56] := @Func56;
    +  fIdentFuncTable[57] := @Func57;
    +  fIdentFuncTable[58] := @Func58;
    +  fIdentFuncTable[59] := @Func59;
    +  fIdentFuncTable[60] := @Func60;
    +  fIdentFuncTable[62] := @Func62;
    +  fIdentFuncTable[63] := @Func63;
    +  fIdentFuncTable[64] := @Func64;
    +  fIdentFuncTable[68] := @Func68;
    +  fIdentFuncTable[69] := @Func69;
    +  fIdentFuncTable[71] := @Func71;
    +  fIdentFuncTable[72] := @Func72;
    +  fIdentFuncTable[77] := @Func77;
    +  fIdentFuncTable[78] := @Func78;
    +  fIdentFuncTable[79] := @Func79;
    +  fIdentFuncTable[80] := @Func80;
    +  fIdentFuncTable[82] := @Func82;
    +  fIdentFuncTable[87] := @Func87;
    +  fIdentFuncTable[91] := @Func91;
    +  fIdentFuncTable[93] := @Func93;
    +  fIdentFuncTable[96] := @Func96;
    +  fIdentFuncTable[101] := @Func101;
    +  fIdentFuncTable[102] := @Func102;
    +  fIdentFuncTable[105] := @Func105;
    +  fIdentFuncTable[151] := @Func151;
    +  fIdentFuncTable[156] := @Func156;
    +  fIdentFuncTable[164] := @Func164;
    +  fIdentFuncTable[177] := @Func177;
    +  fIdentFuncTable[206] := @Func206;
     end;
     
     function TSynPHPSyn.KeyHash(ToHash: PChar): Integer;
    @@ -611,7 +590,7 @@
       fToIdent := MayBe;
       HashKey := KeyHash(MayBe);
       if HashKey < 207 then
    -    Result := fIdentFuncTable[HashKey]{$IFDEF FPC}(){$ENDIF}
    +    Result := fIdentFuncTable[HashKey]()
       else
         Result := tkIdentifier;
     end;
    @@ -622,42 +601,42 @@
     begin
       for I := #0 to #255 do
         case I of
    -      '&': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AndSymbolProc;
    -      #39: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}String39Proc; // single quote
    -      '@': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AtSymbolProc;
    -      '}': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceCloseProc;
    -      '{': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceOpenProc;
    -      #13: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
    -      ':': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}ColonProc;
    -      ',': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CommaProc;
    -      '=': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}EqualProc;
    -      '>': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}GreaterProc;
    -      'A'..'Z', 'a'..'z', '_': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}IdentProc;
    -      #10: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
    -      '<': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LowerProc;
    -      '-': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MinusProc;
    -      '*': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MultiplyProc;
    -      '!': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NotSymbolProc;
    -      #0: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
    -      '0'..'9': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NumberProc;
    -      '|': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}OrSymbolProc;
    -      '+': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PlusProc;
    -      '.': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PointProc;
    -      '#': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PoundProc;
    -      '?': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}QuestionProc;
    -      '%': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}RemainderSymbolProc;
    -      ')': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}RoundCloseProc;
    -      '(': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}RoundOpenProc;
    -      ';': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SemiColonProc;
    -      '/': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SlashProc;
    -      #1..#9, #11, #12, #14..#32: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
    -      ']': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SquareCloseProc;
    -      '[': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SquareOpenProc;
    -      #34: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}String34Proc; // double quote
    -      '~': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}TildeProc;
    -      '$': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}VariableProc;
    -      '^': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}XOrSymbolProc;
    -      else fProcTable[I] := {$IFDEF FPC}@{$ENDIF}UnknownProc;
    +      '&': fProcTable[I] := @AndSymbolProc;
    +      #39: fProcTable[I] := @String39Proc; // single quote
    +      '@': fProcTable[I] := @AtSymbolProc;
    +      '}': fProcTable[I] := @BraceCloseProc;
    +      '{': fProcTable[I] := @BraceOpenProc;
    +      #13: fProcTable[I] := @CRProc;
    +      ':': fProcTable[I] := @ColonProc;
    +      ',': fProcTable[I] := @CommaProc;
    +      '=': fProcTable[I] := @EqualProc;
    +      '>': fProcTable[I] := @GreaterProc;
    +      'A'..'Z', 'a'..'z', '_': fProcTable[I] := @IdentProc;
    +      #10: fProcTable[I] := @LFProc;
    +      '<': fProcTable[I] := @LowerProc;
    +      '-': fProcTable[I] := @MinusProc;
    +      '*': fProcTable[I] := @MultiplyProc;
    +      '!': fProcTable[I] := @NotSymbolProc;
    +      #0: fProcTable[I] := @NullProc;
    +      '0'..'9': fProcTable[I] := @NumberProc;
    +      '|': fProcTable[I] := @OrSymbolProc;
    +      '+': fProcTable[I] := @PlusProc;
    +      '.': fProcTable[I] := @PointProc;
    +      '#': fProcTable[I] := @PoundProc;
    +      '?': fProcTable[I] := @QuestionProc;
    +      '%': fProcTable[I] := @RemainderSymbolProc;
    +      ')': fProcTable[I] := @RoundCloseProc;
    +      '(': fProcTable[I] := @RoundOpenProc;
    +      ';': fProcTable[I] := @SemiColonProc;
    +      '/': fProcTable[I] := @SlashProc;
    +      #1..#9, #11, #12, #14..#32: fProcTable[I] := @SpaceProc;
    +      ']': fProcTable[I] := @SquareCloseProc;
    +      '[': fProcTable[I] := @SquareOpenProc;
    +      #34: fProcTable[I] := @String34Proc; // double quote
    +      '~': fProcTable[I] := @TildeProc;
    +      '$': fProcTable[I] := @VariableProc;
    +      '^': fProcTable[I] := @XOrSymbolProc;
    +      else fProcTable[I] := @UnknownProc;
         end;
     end;
     
    @@ -686,20 +665,18 @@
       fVariableAttri := TSynHighlighterAttributes.Create(SYNS_AttrVariable, SYNS_XML_AttrVariable);
       AddAttribute(fVariableAttri);
     {end}                                                                           //mh 2000-01-14
    -  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
    +  SetAttributesOnChange(@DefHighlightChange);
       InitIdent;
       MakeMethodTables;
       fDefaultFilter := SYNS_FilterPHP;
       fRange := rsUnknown;
     end;
     
    -procedure TSynPHPSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer);
    +procedure TSynPHPSyn.SetLine(const NewValue: String; LineNumber: Integer);
     begin
       inherited;
       fLine := PChar(NewValue);
    -  {$IFDEF SYN_LAZARUS}
       fLineLen := length(NewValue);
    -  {$ENDIF}
       Run := 0;
       fLineNumber := LineNumber;
       Next;
    @@ -909,10 +886,8 @@
     procedure TSynPHPSyn.NullProc;
     begin
       fTokenID := tkNull;
    -  {$IFDEF SYN_LAZARUS}
       if Run<fLineLen then
         inc(Run);
    -  {$ENDIF}
     end;
     
     procedure TSynPHPSyn.NumberProc;
    @@ -1111,7 +1086,7 @@
     begin
       if (FLine[Run] in [#0, #10, #13]) and (fTokenPos = Run) then
       begin
    -    fProcTable[ FLine[Run] ]{$IFDEF FPC}(){$ENDIF};
    +    fProcTable[ FLine[Run] ]();
         Exit;
       end;
       fTokenID := tkString;
    @@ -1274,10 +1249,8 @@
     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;
     
    @@ -1341,7 +1314,7 @@
         rsVarExpansion: VarExpansionProc;
         else begin
           fRange := rsUnknown;
    -      fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
    +      fProcTable[fLine[Run]]();
         end;
       end;
     end;
    @@ -1426,13 +1399,11 @@
       Result := TSynValidStringChars;
     end;
     
    -{$IFDEF SYN_LAZARUS}
     procedure TSynPHPSyn.GetTokenEx(out TokenStart: PChar; out TokenLength: integer);
     begin
       TokenLength:=Run-fTokenPos;
       TokenStart:=FLine + fTokenPos;
     end;
    -{$ENDIF}
     
     class function TSynPHPSyn.GetLanguageName: string;
     begin
    Index: synhighlighterpo.pp
    ===================================================================
    --- synhighlighterpo.pp	(revision 37490)
    +++ synhighlighterpo.pp	(working copy)
    @@ -34,11 +34,7 @@
     
     uses
       Classes, SysUtils,
    -  {$IFDEF SYN_CLX}
    -  QGraphics,
    -  {$ELSE}
       Graphics,
    -  {$ENDIF}
       SynEditTypes, SynEditHighlighter, SynEditStrConst;
     
     type
    @@ -228,10 +224,8 @@
         IdentProc
       else begin
         inc(Run);
    -    {$IFDEF SYN_LAZARUS}
         while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
          ((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @TextProc)) do inc(Run);
    -    {$ENDIF}
         fTokenID := tkText;
       end;
     end;
    Index: synhighlighterposition.pas
    ===================================================================
    --- synhighlighterposition.pas	(revision 37490)
    +++ synhighlighterposition.pas	(working copy)
    @@ -75,15 +75,13 @@
         function GetEol: Boolean; override;
         function GetRange: Pointer; override;
         function GetToken: string; override;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
    -    {$ENDIF}
         function GetTokenAttribute: TSynHighlighterAttributes; override;
         function GetTokenKind: integer; override;
         function GetTokenPos: Integer; override;
         procedure Next; override;
         procedure ResetRange; override;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string;
    +    procedure SetLine(const NewValue: string;
           LineNumber:Integer); override;
         procedure SetRange(Value: Pointer); override;
         function UseUserSettings(settingIndex: integer): boolean; override;
    @@ -157,7 +155,7 @@
       fCopiedAttributes:=TList.Create;
       fTextAttri := TSynHighlighterAttributes.Create(SYNS_AttrText, SYNS_XML_AttrText);
       AddAttribute(fTextAttri);
    -  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
    +  SetAttributesOnChange(@DefHighlightChange);
     
       fDefaultFilter := '';
     end;
    @@ -190,7 +188,6 @@
       System.Move(fLine[fTokenPos],Result[1],Len);
     end;
     
    -{$IFDEF SYN_LAZARUS}
     procedure TSynPositionHighlighter.GetTokenEx(out TokenStart: PChar;
       out TokenLength: integer);
     begin
    @@ -201,7 +198,6 @@
         TokenStart:=nil;
       end;
     end;
    -{$ENDIF}
     
     function TSynPositionHighlighter.GetTokenAttribute: TSynHighlighterAttributes;
     var
    Index: synhighlighterpython.pas
    ===================================================================
    --- synhighlighterpython.pas	(revision 37490)
    +++ synhighlighterpython.pas	(working copy)
    @@ -42,32 +42,17 @@
     @lastmod(2003-02-13)
     The SynHighlighterPython implements a highlighter for Python for the SynEdit projects.
     }
    -{$IFNDEF QSYNHIGHLIGHTERPYTHON}
     unit SynHighlighterPython;
    -{$ENDIF}
     
     {$I SynEdit.inc}
     
     interface
     
     uses
    -{$IFDEF SYN_COMPILER_6_UP}
       IniFiles, //THashedStringList
    -{$ENDIF}
    -{$IFDEF SYN_CLX}
    -  QGraphics,
    -  QSynEditHighlighter,
    -  QSynEditTypes,
    -{$ELSE}
    -  {$IFDEF SYN_LAZARUS}
       LCLIntf, LCLType,
    -  {$ENDIF}
    -  Graphics,
    -  SynEditHighlighter,
    -  SynEditTypes,
    -{$ENDIF}
    -  SysUtils,
    -  Classes;
    +  SynEditHighlighter, SynEditTypes,
    +  Graphics, SysUtils, Classes;
     
     const
       ALPHA_CHARS = ['_', 'a'..'z', 'A'..'Z'];
    @@ -151,7 +136,7 @@
         function GetEol: Boolean; override;
         function GetRange: Pointer; override;
         function GetTokenID: TtkTokenKind;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string;
    +    procedure SetLine(const NewValue: string;
                           LineNumber: Integer); override;
         function GetToken: string; override;
         function GetTokenAttribute: TSynHighlighterAttributes; override;
    @@ -161,9 +146,7 @@
         property IdentChars;
         procedure SetRange(Value: Pointer); override;
         procedure ResetRange; override;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
    -    {$ENDIF}
       published
         property CommentAttri: TSynHighlighterAttributes read fCommentAttri
         write fCommentAttri;
    @@ -197,11 +180,7 @@
     implementation
     
     uses
    -{$IFDEF SYN_CLX}
    -  QSynEditStrConst;
    -{$ELSE}
       SynEditStrConst;
    -{$ENDIF}
     
     var
       GlobalKeywords: TStringList;
    @@ -325,10 +304,10 @@
     
         for f := 1 to KEYWORDCOUNT do
           GlobalKeywords.AddObject (KEYWORDSIdents[f],
    -        {$IFDEF SYN_LAZARUS}TObject{$ELSE}Pointer{$ENDIF} (Ord(tkKey)));
    +        TObject(Ord(tkKey)));
         for f := 1 to NONKEYWORDCOUNT do
           GlobalKeywords.AddObject (NONKEYWORDS[f],
    -        {$IFDEF SYN_LAZARUS}TObject{$ELSE}Pointer{$ENDIF}(Ord(tkNonKeyword)));
    +        TObject(Ord(tkNonKeyword)));
       end; // if
       Result := GlobalKeywords;
     end;
    @@ -350,17 +329,7 @@
     
       // Check to see if it is a keyword
       SetString (s, fToIdent, fStringLen);
    -  {$IFDEF SYN_COMPILER_6_UP}
       index := FKeywords.IndexOf (s);
    -  {$ELSE}
    -  if FKeywords.Find (s, index) then begin
    -    // TStringList is not case sensitive!
    -    if s <> FKeywords[index] then
    -      index := -1;
    -  end else begin
    -    index := -1;
    -  end; // if
    -  {$ENDIF}
     
       if index <> -1 then
         Result := TtkTokenKind (PtrInt(FKeywords.Objects[index]))
    @@ -386,23 +355,23 @@
           '&', '}', '{', ':', ',', ']', '[', '*', '`',
           '^', ')', '(', ';', '/', '=', '-', '+', '!', '\',
           '%', '|', '~' :
    -        fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      #13: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}CRProc;
    -      '#': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}CommentProc;
    -      '>': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}GreaterProc;
    -      'A'..'Q', 'S', 'T', 'V'..'Z', 'a'..'q', 's', 't', 'v'..'z', '_': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}IdentProc;
    -      #10: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LFProc;
    -      '<': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LowerProc;
    -      #0: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NullProc;
    -      '.', '0'..'9': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NumberProc;
    +        fProcTable[I] := @SymbolProc;
    +      #13: fProcTable[I] := @CRProc;
    +      '#': fProcTable[I] := @CommentProc;
    +      '>': fProcTable[I] := @GreaterProc;
    +      'A'..'Q', 'S', 'T', 'V'..'Z', 'a'..'q', 's', 't', 'v'..'z', '_': fProcTable[I] := @IdentProc;
    +      #10: fProcTable[I] := @LFProc;
    +      '<': fProcTable[I] := @LowerProc;
    +      #0: fProcTable[I] := @NullProc;
    +      '.', '0'..'9': fProcTable[I] := @NumberProc;
           #1..#9, #11, #12, #14..#32:
    -        fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SpaceProc;
    -      'r', 'R': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}PreStringProc;
    -      'u', 'U': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}UnicodeStringProc;
    -      '''': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}StringProc;
    -      '"': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}String2Proc;
    +        fProcTable[I] := @SpaceProc;
    +      'r', 'R': fProcTable[I] := @PreStringProc;
    +      'u', 'U': fProcTable[I] := @UnicodeStringProc;
    +      '''': fProcTable[I] := @StringProc;
    +      '"': fProcTable[I] := @String2Proc;
         else
    -      fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}UnknownProc;
    +      fProcTable[I] := @UnknownProc;
         end;
     end;
     
    @@ -410,15 +379,8 @@
     begin
       inherited Create(AOwner);
       
    -  {$IFDEF SYN_COMPILER_6_UP}
       FKeywords := THashedStringList.Create;
       FKeywords.CaseSensitive := True;
    -  {$ELSE}
    -  // Older compilers do not ave hashed string list - so use less efficient
    -  //   TStringList instead - but keep it sorted
    -  FKeywords := TStringList.Create;
    -  FKeywords.Sorted := True; 
    -  {$ENDIF}
       FKeywords.Duplicates := dupError;
       FKeywords.Assign (GetKeywordIdentifiers);
     
    @@ -464,7 +426,7 @@
       fErrorAttri := TSynHighlighterAttributes.Create(SYNS_AttrSyntaxError, SYNS_XML_AttrSyntaxError);
       fErrorAttri.Foreground := clRed;
       AddAttribute(fErrorAttri);
    -  SetAttributesOnChange({$IFDEF SYN_LAZARUS}@{$ENDIF}DefHighlightChange);
    +  SetAttributesOnChange(@DefHighlightChange);
       MakeMethodTables;
       fDefaultFilter := SYNS_FilterPython;
     end; { Create }
    @@ -476,7 +438,7 @@
       inherited;
     end;
     
    -procedure TSynPythonSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string;
    +procedure TSynPythonSyn.SetLine(const NewValue: string;
       LineNumber: Integer);
     begin
       inherited;
    @@ -486,14 +448,12 @@
       Next;
     end; { SetLine }
     
    -{$IFDEF SYN_LAZARUS}
     procedure TSynPythonSyn.GetTokenEx(out TokenStart: PChar;
       out TokenLength: integer);
     begin
       TokenLength:=Run-fTokenPos;
       TokenStart:=FLine + fTokenPos;
     end;
    -{$ENDIF}
     
     procedure TSynPythonSyn.SymbolProc;
     begin
    @@ -1144,10 +1104,8 @@
     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;
     
    Index: synhighlightersql.pas
    ===================================================================
    --- synhighlightersql.pas	(revision 37490)
    +++ synhighlightersql.pas	(working copy)
    @@ -45,37 +45,19 @@
     The SynHighlighterSQL implements a highlighter for SQL for the SynEdit projects.
     Different SQL dialects can be selected via the Dialect property.
     }
    -{$IFNDEF QSYNHIGHLIGHTERSQL}
     unit SynHighlighterSQL;
    -{$ENDIF}
     
    -
     {$I SynEdit.inc}
     
     interface
     
     uses
       SysUtils, Classes,
    -  {$IFDEF SYN_CLX}
    -  Types,
    -  QGraphics,
    -  QSynEditTypes,
    -  QSynEditHighlighter,
    -  QSynHighlighterHashEntries,
    -  {$ELSE}
    -  {$IFDEF SYN_LAZARUS}
       LCLIntf, LCLType,
    -  {$ELSE}
    -  Windows, Messages, Registry,
    -  {$ENDIF}
       Controls, Graphics,
       SynEditTypes, SynEditHighlighter,
       SynHighlighterHashEntries;
    -  {$ENDIF}
     
    -  
    -  
    -
     type
       TtkTokenKind = (tkComment, tkDatatype, tkDefaultPackage, tkException,         // DJLP 2000-08-11
         tkFunction, tkIdentifier, tkKey, tkNull, tkNumber, tkSpace, tkPLSQL,        // DJLP 2000-08-11
    @@ -172,9 +154,7 @@
         function GetEol: Boolean; override;
         function GetRange: Pointer; override;
         function GetToken: string; override;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
    -    {$ENDIF}
     
         function GetTokenAttribute: TSynHighlighterAttributes; override;
         function GetTokenID: TtkTokenKind;
    @@ -183,7 +163,7 @@
         function IsKeyword(const AKeyword: string): boolean; override;              // DJLP 2000-08-09
         procedure Next; override;
         procedure ResetRange; override;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string; LineNumber: Integer); override;
    +    procedure SetLine(const NewValue: string; LineNumber: Integer); override;
         procedure SetRange(Value: Pointer); override;
       published
         property CommentAttri: TSynHighlighterAttributes read fCommentAttri
    @@ -222,11 +202,7 @@
     implementation
     
     uses
    -{$IFDEF SYN_CLX}
    -  QSynEditStrConst;
    -{$ELSE}
       SynEditStrConst;
    -{$ENDIF}
     
     var
       Identifiers: TIdentifierTable;
    @@ -943,15 +919,7 @@
       Start := ToHash;
       while fIdentifiersPtr^[ToHash^] do begin
       
    -   {$IFDEF FPC}
    -       Result := (2 * Result + fmHashTablePtr^[ToHash^]) and $FFFFFF;
    -   {$ELSE}
    -      {$IFOPT Q-}
    -          Result := 2 * Result + fmHashTablePtr[ToHash^];
    -      {$ELSE}
    -          Result := (2 * Result + fmHashTablePtr[ToHash^]) and $FFFFFF;
    -      {$ENDIF}
    -   {$ENDIF}
    +    Result := (2 * Result + fmHashTablePtr^[ToHash^]) and $FFFFFF;
         inc(ToHash);
       end;
       Result := Result and $FF; // 255
    @@ -1004,33 +972,33 @@
     begin
       for I := #0 to #255 do
         case I of
    -       #0: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
    -      #10: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
    -      #13: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
    -      #39: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AsciiCharProc;
    -      '=': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}EqualProc;
    -      '>': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}GreaterProc;
    -      '<': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LowerProc;
    -      '-': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MinusProc;
    -      '|': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}OrSymbolProc;
    -      '+': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PlusProc;
    -      '/': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SlashProc;
    -      '&': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AndSymbolProc;
    -      #34: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StringProc;
    +       #0: fProcTable[I] := @NullProc;
    +      #10: fProcTable[I] := @LFProc;
    +      #13: fProcTable[I] := @CRProc;
    +      #39: fProcTable[I] := @AsciiCharProc;
    +      '=': fProcTable[I] := @EqualProc;
    +      '>': fProcTable[I] := @GreaterProc;
    +      '<': fProcTable[I] := @LowerProc;
    +      '-': fProcTable[I] := @MinusProc;
    +      '|': fProcTable[I] := @OrSymbolProc;
    +      '+': fProcTable[I] := @PlusProc;
    +      '/': fProcTable[I] := @SlashProc;
    +      '&': fProcTable[I] := @AndSymbolProc;
    +      #34: fProcTable[I] := @StringProc;
           ':', '@':
    -        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}VariableProc;
    +        fProcTable[I] := @VariableProc;
           'A'..'Z', 'a'..'z', '_':
    -        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}IdentProc;
    +        fProcTable[I] := @IdentProc;
           '0'..'9':
    -        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NumberProc;
    +        fProcTable[I] := @NumberProc;
           #1..#9, #11, #12, #14..#32:
    -        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
    +        fProcTable[I] := @SpaceProc;
           '^', '%', '*', '!':
    -        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SymbolAssignProc;
    +        fProcTable[I] := @SymbolAssignProc;
           '{', '}', '.', ',', ';', '?', '(', ')', '[', ']', '~':
    -        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SymbolProc;
    +        fProcTable[I] := @SymbolProc;
           else
    -        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}UnknownProc;
    +        fProcTable[I] := @UnknownProc;
         end;
     end;
     
    @@ -1039,7 +1007,7 @@
       inherited Create(AOwner);
       fKeywords := TSynHashEntryList.Create;
       fTableNames := TStringList.Create;
    -  TStringList(fTableNames).OnChange := {$IFDEF FPC}@{$ENDIF}TableNamesChanged;
    +  TStringList(fTableNames).OnChange := @TableNamesChanged;
       fCommentAttri := TSynHighlighterAttributes.Create(SYNS_AttrComment, SYNS_XML_AttrComment);
       fCommentAttri.Style := [fsItalic];
       AddAttribute(fCommentAttri);
    @@ -1085,7 +1053,7 @@
       AddAttribute(fTableNameAttri);
       fVariableAttri := TSynHighlighterAttributes.Create(SYNS_AttrVariable, SYNS_XML_AttrVariable);
       AddAttribute(fVariableAttri);
    -  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
    +  SetAttributesOnChange(@DefHighlightChange);
       MakeMethodTables;
       fDefaultFilter := SYNS_FilterSQL;
       fRange := rsUnknown;
    @@ -1107,7 +1075,7 @@
         SQLDialect := TSynSQLSyn(Source).SQLDialect;
     end;
     
    -procedure TSynSQLSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string; LineNumber: Integer);
    +procedure TSynSQLSyn.SetLine(const NewValue: string; LineNumber: Integer);
     begin
       inherited;
       fLine := PChar(NewValue);
    @@ -1367,10 +1335,8 @@
         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;
     end;
    @@ -1424,7 +1390,7 @@
         rsString:
           AsciiCharProc;
       else
    -    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
    +    fProcTable[fLine[Run]]();
       end;
     end;
     
    @@ -1461,13 +1427,12 @@
       Len := Run - fTokenPos;
       Setstring(Result, (FLine + fTokenPos), Len);
     end;
    -{$IFDEF SYN_LAZARUS}
    +
     procedure TSynSQLSyn.GetTokenEx(out TokenStart: PChar; out TokenLength: integer);
     begin
       TokenLength:=Run-fTokenPos;
       TokenStart:=FLine + fTokenPos;
     end;
    -{$ENDIF}
     
     function TSynSQLSyn.GetTokenID: TtkTokenKind;
     begin
    @@ -1589,63 +1554,63 @@
         sqlIngres:
           begin
             EnumerateKeywords(Ord(tkDatatype), IngresTypes, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    -        EnumerateKeywords(Ord(tkKey), IngresKW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
    +        EnumerateKeywords(Ord(tkKey), IngresKW, IdentChars, @DoAddKeyword);
             EnumerateKeywords(Ord(tkFunction), IngresFunctions, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
           end;
         sqlInterbase6:
           begin
             EnumerateKeywords(Ord(tkDatatype), Interbase6Types, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
             EnumerateKeywords(Ord(tkFunction), Interbase6Functions, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    -        EnumerateKeywords(Ord(tkKey), Interbase6KW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
    +        EnumerateKeywords(Ord(tkKey), Interbase6KW, IdentChars, @DoAddKeyword);
           end;
         sqlMSSQL7:
           begin
    -        EnumerateKeywords(Ord(tkKey), MSSQL7KW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +        EnumerateKeywords(Ord(tkKey), MSSQL7KW, IdentChars, @DoAddKeyword);
             EnumerateKeywords(Ord(tkDatatype), MSSQL7Types, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
             EnumerateKeywords(Ord(tkFunction), MSSQL7Functions, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
           end;
         sqlMSSQL2K:
           begin
    -        EnumerateKeywords(ord(tkKey), MSSQL2000KW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    -        EnumerateKeywords(ord(tkDataType), MSSQL2000Types, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    -        EnumerateKeywords(ord(tkFunction), MSSQL2000Functions, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +        EnumerateKeywords(ord(tkKey), MSSQL2000KW, IdentChars, @DoAddKeyword);
    +        EnumerateKeywords(ord(tkDataType), MSSQL2000Types, IdentChars, @DoAddKeyword);
    +        EnumerateKeywords(ord(tkFunction), MSSQL2000Functions, IdentChars, @DoAddKeyword);
           end;
         sqlMySql:
           begin
    -        EnumerateKeywords(Ord(tkKey), MySqlKW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +        EnumerateKeywords(Ord(tkKey), MySqlKW, IdentChars, @DoAddKeyword);
             EnumerateKeywords(Ord(tkDatatype), MySqlTypes, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
             EnumerateKeywords(Ord(tkFunction), MySqlFunctions, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
           end;
         sqlOracle:
           begin
    -        EnumerateKeywords(Ord(tkKey), OracleKW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +        EnumerateKeywords(Ord(tkKey), OracleKW, IdentChars, @DoAddKeyword);
             EnumerateKeywords(Ord(tkDatatype), OracleTypes, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
             EnumerateKeywords(Ord(tkException), OracleExceptions, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
             EnumerateKeywords(Ord(tkFunction), OracleFunctions, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
             EnumerateKeywords(Ord(tkComment), OracleCommentKW, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
             EnumerateKeywords(Ord(tkDefaultPackage), OracleDefaultPackages,
    -          IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          IdentChars, @DoAddKeyword);
             EnumerateKeywords(Ord(tkPLSQL), OraclePLSQLKW, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
             EnumerateKeywords(Ord(tkSQLPlus), OracleSQLPlusCommands, IdentChars,
    -          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +          @DoAddKeyword);
           end;
         sqlStandard:
    -      EnumerateKeywords(Ord(tkKey), StandardKW, IdentChars + ['-'], {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +      EnumerateKeywords(Ord(tkKey), StandardKW, IdentChars + ['-'], @DoAddKeyword);
         sqlSybase:
    -      EnumerateKeywords(Ord(tkKey), SybaseKW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
    +      EnumerateKeywords(Ord(tkKey), SybaseKW, IdentChars, @DoAddKeyword);
       end;
       PutTableNamesInKeywordList;
       DefHighlightChange(Self);
    Index: synhighlightertex.pas
    ===================================================================
    --- synhighlightertex.pas	(revision 37490)
    +++ synhighlightertex.pas	(working copy)
    @@ -34,9 +34,7 @@
     Known Issues:
     -------------------------------------------------------------------------------}
     
    -{$IFNDEF QSYNHIGHLIGHTERTEX}
     unit SynHighlighterTeX;
    -{$ENDIF}
     
     {$I SynEdit.inc}
     
    @@ -44,23 +42,10 @@
     
     uses
       SysUtils, Classes,
    -  {$IFDEF SYN_CLX}
    -  Qt, QControls, QGraphics,
    -  QSynEditTypes,
    -  QSynEditHighlighter,
    -  {$ELSE}
    -  {$IFDEF SYN_LAZARUS}
       LCLProc, LCLIntf, LCLType,
    -  {$ELSE}
    -  Windows, Registry, Messages,
    -  {$ENDIF}
       Controls, Graphics,
       SynEditTypes, SynEditHighlighter;
    -  {$ENDIF}
     
    -
    -
    -
     type
       TtkTokenKind = (tkBrace, tkBracket, tkNull, tkSpace, tkText, tkComment,
                       tkControlSequence, tkMathMode);
    @@ -113,12 +98,10 @@
           override;
         function GetEol: Boolean; override;
         function GetTokenID: TtkTokenKind;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
    +    procedure SetLine(const NewValue: String;
                           LineNumber:Integer); override;
         function GetToken: String; override;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
    -    {$ENDIF}
     
         function GetTokenAttribute: TSynHighlighterAttributes; override;
         function GetTokenKind: integer; override;
    @@ -144,11 +127,7 @@
     implementation
     
     uses
    -{$IFDEF SYN_CLX}
    -  QSynEditStrConst;
    -{$ELSE}
       SynEditStrConst;
    -{$ENDIF}
     
     procedure TSynTeXSyn.MakeMethodTables;
     var
    @@ -156,19 +135,19 @@
     begin
       for i := #0 to #255 do
         case i of
    -      #0                         : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
    -      #10                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
    -      #13                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
    -      #37                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CommentProc;
    -      #92                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}ControlSequenceProc;
    -      #123                       : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceOpenProc;
    -      #125                       : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceCloseProc;
    -      #91                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BracketOpenProc;
    -      #93                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BracketCloseProc;
    -      #1..#9, #11, #12, #14..#32 : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
    -      #36                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MathmodeProc;
    +      #0                         : fProcTable[I] := @NullProc;
    +      #10                        : fProcTable[I] := @LFProc;
    +      #13                        : fProcTable[I] := @CRProc;
    +      #37                        : fProcTable[I] := @CommentProc;
    +      #92                        : fProcTable[I] := @ControlSequenceProc;
    +      #123                       : fProcTable[I] := @BraceOpenProc;
    +      #125                       : fProcTable[I] := @BraceCloseProc;
    +      #91                        : fProcTable[I] := @BracketOpenProc;
    +      #93                        : fProcTable[I] := @BracketCloseProc;
    +      #1..#9, #11, #12, #14..#32 : fProcTable[I] := @SpaceProc;
    +      #36                        : fProcTable[I] := @MathmodeProc;
         else
    -      fProcTable[I] := {$IFDEF FPC}@{$ENDIF}TextProc;
    +      fProcTable[I] := @TextProc;
         end;
     end;
     
    @@ -199,12 +178,12 @@
       AddAttribute(fBraceAttri);
     
       //*************************
    -  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
    +  SetAttributesOnChange(@DefHighlightChange);
       fDefaultFilter                := SYNS_FilterTeX;
       MakeMethodTables;
     end;  { Create }
     
    -procedure TSynTeXSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber:Integer);
    +procedure TSynTeXSyn.SetLine(const NewValue: String; LineNumber:Integer);
     begin
       inherited;
       fLine       := PChar(NewValue);
    @@ -312,7 +291,7 @@
     procedure TSynTeXSyn.Next;
     begin
       fTokenPos := Run;
    -  fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
    +  fProcTable[fLine[Run]]();
     end;  { Next }
     
     function TSynTeXSyn.GetDefaultAttribute(Index: integer):
    @@ -339,13 +318,11 @@
       SetString(Result, (FLine + fTokenPos), Len);
     end;  { GetToken }
     
    -{$IFDEF SYN_LAZARUS}
     procedure TSynTeXSyn.GetTokenEx(out TokenStart: PChar; out TokenLength: integer);
     begin
       TokenLength:=Run-fTokenPos;
       TokenStart:=FLine + fTokenPos;
     end;
    -{$ENDIF}
     
     function TSynTeXSyn.GetTokenID: TtkTokenKind;
     begin
    Index: synhighlighterunixshellscript.pas
    ===================================================================
    --- synhighlighterunixshellscript.pas	(revision 37490)
    +++ synhighlighterunixshellscript.pas	(working copy)
    @@ -47,27 +47,17 @@
     The SynHighlighterUNIXShellScript unit provides SynEdit with a UNIX Shell Script highlighter.
     }
     
    -{$IFNDEF QSYNHIGHLIGHTERUNIXSHELLSCRIPT}
     unit synhighlighterunixshellscript;
    -{$ENDIF}
     
     {$I SynEdit.inc}
     
     interface
     
     uses
    -  {$IFDEF SYN_CLX}
    -  QGraphics,
    -  QSynEditTypes,
    -  QSynEditHighlighter,
    -  {$ELSE}
       Graphics,
    -  {$IFDEF SYN_LAZARUS}
       GraphType, /////TL 2003-06-11: Added for font attribute declaration fsBold
    -  {$ENDIF}
       SynEditTypes,
       SynEditHighlighter,
    -  {$ENDIF}
       SysUtils,
       Classes;
     
    @@ -131,13 +121,11 @@
         function GetEol: Boolean; override;
         function GetRange: Pointer; override;
         function GetTokenID: TtkTokenKind;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber:Integer); override; /////TL: Added 2003-06-11
    +    procedure SetLine(const NewValue: String; LineNumber:Integer); override; /////TL: Added 2003-06-11
         function IsKeyword(const AKeyword: string): boolean; override;              //mh 2000-11-08
         function IsSecondKeyWord(aToken: string): Boolean;
         function GetToken: string; override;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override; /////TL: Added 2003-06-11
    -    {$ENDIF}
         function GetTokenAttribute: TSynHighlighterAttributes; override;
         function GetTokenKind: integer; override;
         function GetTokenPos: Integer; override;
    @@ -168,11 +156,7 @@
     implementation
     
     uses
    -{$IFDEF SYN_CLX}
    -  QSynEditStrConst;
    -{$ELSE}
       SynEditStrConst;
    -{$ENDIF}
     
     const
       ShellScriptKeysCount = 110;
    @@ -198,16 +182,10 @@
     
     var
       Identifiers: array[#0..#255] of ByteBool;
    -  {$IFNDEF SYN_LAZARUS}
    -  mHashTable: array[#0..#255] of Integer;
    -  {$ENDIF}
     
     procedure MakeIdentTable;
     var
       I: Char;
    -  {$IFNDEF SYN_LAZARUS}
    -  K: Char;
    -  {$ENDIF}
     begin
       for I := #0 to #255 do
       begin
    @@ -217,13 +195,6 @@
           else
             Identifiers[I] := False;
         end;
    -    {$IFNDEF SYN_LAZARUS}
    -    J := UpCase(I);
    -    case I in ['_', 'a'..'z', 'A'..'Z'] of
    -      True: mHashTable[I] := Ord(J) - 64
    -      else mHashTable[I] := 0;
    -    end;
    -    {$ENDIF}
       end;
     end;
     
    @@ -277,21 +248,21 @@
     begin
       for I := #0 to #255 do
         case I of  /////TL 2003-06-11: added "@" prefix to function identifiers being assigned
    -      '#': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SlashProc{!@#$AsciiCharProc};
    -      '{': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}BraceOpenProc;
    -      ';': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}PointCommaProc;
    -      '.': fProcTable[i] := {$IFDEF SYN_LAZARUS}@{$ENDIF}DotProc;
    -      #13: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}CRProc;
    -      'A'..'Z', 'a'..'z', '_': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}IdentProc;
    -      #10: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LFProc;
    -      #0: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NullProc;
    -      '0'..'9': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NumberProc;
    -      '(': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}RoundOpenProc;
    -      '/': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SlashProc;
    -      '$': fProcTable[i] := {$IFDEF SYN_LAZARUS}@{$ENDIF}DollarProc;
    -      #1..#9, #11, #12, #14..#32: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SpaceProc;
    -      #34, #39{!@#$#39}: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}StringProc;
    -      else fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}UnknownProc;
    +      '#': fProcTable[I] := @SlashProc{!@#$AsciiCharProc};
    +      '{': fProcTable[I] := @BraceOpenProc;
    +      ';': fProcTable[I] := @PointCommaProc;
    +      '.': fProcTable[i] := @DotProc;
    +      #13: fProcTable[I] := @CRProc;
    +      'A'..'Z', 'a'..'z', '_': fProcTable[I] := @IdentProc;
    +      #10: fProcTable[I] := @LFProc;
    +      #0: fProcTable[I] := @NullProc;
    +      '0'..'9': fProcTable[I] := @NumberProc;
    +      '(': fProcTable[I] := @RoundOpenProc;
    +      '/': fProcTable[I] := @SlashProc;
    +      '$': fProcTable[i] := @DollarProc;
    +      #1..#9, #11, #12, #14..#32: fProcTable[I] := @SpaceProc;
    +      #34, #39{!@#$#39}: fProcTable[I] := @StringProc;
    +      else fProcTable[I] := @UnknownProc;
         end;
     end;
     
    @@ -341,7 +312,7 @@
       fVarAttri := TSynHighlighterAttributes.Create(SYNS_AttrVariable, SYNS_XML_AttrVariable);
       fVarAttri.Foreground := clPurple;
       AddAttribute(fVarAttri);
    -  SetAttributesOnChange({$IFDEF SYN_LAZARUS}@{$ENDIF}DefHighlightChange);   ////TL 2003-06-11: added the @prefix to DefHighlightChange
    +  SetAttributesOnChange(@DefHighlightChange);   ////TL 2003-06-11: added the @prefix to DefHighlightChange
     
       MakeMethodTables;
       fRange := rsUnknown;
    @@ -350,7 +321,7 @@
     
     ////TL 2003-06-11: Replaced existing SetLine with this one... identical except for the IFDEF
     procedure TSynUNIXShellScriptSyn.SetLine(
    -  {$IFDEF FPC}const {$ENDIF}NewValue: String;
    +  const NewValue: String;
       LineNumber:Integer);
     begin
       inherited;
    @@ -661,10 +632,8 @@
     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;
     
    @@ -714,14 +683,12 @@
     end;
     
     ////TL 2003-06-11: Added the following to satisfy abstract method override
    -{$IFDEF SYN_LAZARUS}
     procedure TSynUNIXShellScriptSyn.GetTokenEx(out TokenStart: PChar;
       out TokenLength: integer);
     begin
       TokenLength:=Run-fTokenPos;
       TokenStart:=FLine + fTokenPos;
     end;
    -{$ENDIF}
     
     function TSynUNIXShellScriptSyn.GetTokenID: TtkTokenKind;
     begin
    Index: synhighlightervb.pas
    ===================================================================
    --- synhighlightervb.pas	(revision 37490)
    +++ synhighlightervb.pas	(working copy)
    @@ -50,16 +50,8 @@
     
     uses
       SysUtils, Classes,
    -  {$IFDEF SYN_CLX}
    -  Qt, QControls, QGraphics,
    -  {$ELSE}
    -  {$IFDEF SYN_LAZARUS}
       LCLIntf, LCLType,
    -  {$ELSE}
    -  Windows, Messages, Registry,
    -  {$ENDIF}
       Controls, Graphics,
    -  {$ENDIF}
       SynEditTypes, SynEditHighlighter;
     
     type
    @@ -209,11 +201,9 @@
           override;
         function GetEol: Boolean; override;
         function GetTokenID: TtkTokenKind;
    -    procedure SetLine({$IFDEF FPC} const {$ENDIF} NewValue: String; LineNumber: Integer); override;
    +    procedure SetLine(const NewValue: String; LineNumber: Integer); override;
         function GetToken: String; override;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
    -    {$ENDIF}
         function GetTokenAttribute: TSynHighlighterAttributes; override;
         function GetTokenKind: integer; override;
         function GetTokenPos: Integer; override;
    @@ -268,97 +258,97 @@
     begin
       pF := PIdentFuncTableFunc(@fIdentFuncTable);
       for I := Low(fIdentFuncTable) to High(fIdentFuncTable) do begin
    -    pF^ := {$IFDEF FPC}@{$ENDIF}AltFunc;
    +    pF^ := @AltFunc;
         Inc(pF);
       end;
    -  fIdentFuncTable[10] := {$IFDEF FPC}@{$ENDIF}Func10;
    -  fIdentFuncTable[15] := {$IFDEF FPC}@{$ENDIF}Func15;
    -  fIdentFuncTable[17] := {$IFDEF FPC}@{$ENDIF}Func17;
    -  fIdentFuncTable[18] := {$IFDEF FPC}@{$ENDIF}Func18;
    -  fIdentFuncTable[19] := {$IFDEF FPC}@{$ENDIF}Func19;
    -  fIdentFuncTable[20] := {$IFDEF FPC}@{$ENDIF}Func20;
    -  fIdentFuncTable[21] := {$IFDEF FPC}@{$ENDIF}Func21;
    -  fIdentFuncTable[22] := {$IFDEF FPC}@{$ENDIF}Func22;
    -  fIdentFuncTable[23] := {$IFDEF FPC}@{$ENDIF}Func23;
    -  fIdentFuncTable[24] := {$IFDEF FPC}@{$ENDIF}Func24;
    -  fIdentFuncTable[26] := {$IFDEF FPC}@{$ENDIF}Func26;
    -  fIdentFuncTable[27] := {$IFDEF FPC}@{$ENDIF}Func27;
    -  fIdentFuncTable[28] := {$IFDEF FPC}@{$ENDIF}Func28;
    -  fIdentFuncTable[29] := {$IFDEF FPC}@{$ENDIF}Func29;
    -  fIdentFuncTable[30] := {$IFDEF FPC}@{$ENDIF}Func30;
    -  fIdentFuncTable[31] := {$IFDEF FPC}@{$ENDIF}Func31;
    -  fIdentFuncTable[32] := {$IFDEF FPC}@{$ENDIF}Func32;
    -  fIdentFuncTable[33] := {$IFDEF FPC}@{$ENDIF}Func33;
    -  fIdentFuncTable[34] := {$IFDEF FPC}@{$ENDIF}Func34;
    -  fIdentFuncTable[35] := {$IFDEF FPC}@{$ENDIF}Func35;
    -  fIdentFuncTable[36] := {$IFDEF FPC}@{$ENDIF}Func36;
    -  fIdentFuncTable[37] := {$IFDEF FPC}@{$ENDIF}Func37;
    -  fIdentFuncTable[38] := {$IFDEF FPC}@{$ENDIF}Func38;
    -  fIdentFuncTable[39] := {$IFDEF FPC}@{$ENDIF}Func39;
    -  fIdentFuncTable[40] := {$IFDEF FPC}@{$ENDIF}Func40;
    -  fIdentFuncTable[41] := {$IFDEF FPC}@{$ENDIF}Func41;
    -  fIdentFuncTable[42] := {$IFDEF FPC}@{$ENDIF}Func42;
    -  fIdentFuncTable[43] := {$IFDEF FPC}@{$ENDIF}Func43;
    -  fIdentFuncTable[44] := {$IFDEF FPC}@{$ENDIF}Func44;
    -  fIdentFuncTable[45] := {$IFDEF FPC}@{$ENDIF}Func45;
    -  fIdentFuncTable[46] := {$IFDEF FPC}@{$ENDIF}Func46;
    -  fIdentFuncTable[47] := {$IFDEF FPC}@{$ENDIF}Func47;
    -  fIdentFuncTable[48] := {$IFDEF FPC}@{$ENDIF}Func48;
    -  fIdentFuncTable[49] := {$IFDEF FPC}@{$ENDIF}Func49;
    -  fIdentFuncTable[50] := {$IFDEF FPC}@{$ENDIF}Func50;
    -  fIdentFuncTable[52] := {$IFDEF FPC}@{$ENDIF}Func52;
    -  fIdentFuncTable[53] := {$IFDEF FPC}@{$ENDIF}Func53;
    -  fIdentFuncTable[54] := {$IFDEF FPC}@{$ENDIF}Func54;
    -  fIdentFuncTable[55] := {$IFDEF FPC}@{$ENDIF}Func55;
    -  fIdentFuncTable[56] := {$IFDEF FPC}@{$ENDIF}Func56;
    -  fIdentFuncTable[57] := {$IFDEF FPC}@{$ENDIF}Func57;
    -  fIdentFuncTable[58] := {$IFDEF FPC}@{$ENDIF}Func58;
    -  fIdentFuncTable[59] := {$IFDEF FPC}@{$ENDIF}Func59;
    -  fIdentFuncTable[60] := {$IFDEF FPC}@{$ENDIF}Func60;
    -  fIdentFuncTable[62] := {$IFDEF FPC}@{$ENDIF}Func62;
    -  fIdentFuncTable[63] := {$IFDEF FPC}@{$ENDIF}Func63;
    -  fIdentFuncTable[64] := {$IFDEF FPC}@{$ENDIF}Func64;
    -  fIdentFuncTable[65] := {$IFDEF FPC}@{$ENDIF}Func65;
    -  fIdentFuncTable[66] := {$IFDEF FPC}@{$ENDIF}Func66;
    -  fIdentFuncTable[67] := {$IFDEF FPC}@{$ENDIF}Func67;
    -  fIdentFuncTable[68] := {$IFDEF FPC}@{$ENDIF}Func68;
    -  fIdentFuncTable[69] := {$IFDEF FPC}@{$ENDIF}Func69;
    -  fIdentFuncTable[70] := {$IFDEF FPC}@{$ENDIF}Func70;
    -  fIdentFuncTable[71] := {$IFDEF FPC}@{$ENDIF}Func71;
    -  fIdentFuncTable[72] := {$IFDEF FPC}@{$ENDIF}Func72;
    -  fIdentFuncTable[73] := {$IFDEF FPC}@{$ENDIF}Func73;
    -  fIdentFuncTable[74] := {$IFDEF FPC}@{$ENDIF}Func74;
    -  fIdentFuncTable[75] := {$IFDEF FPC}@{$ENDIF}Func75;
    -  fIdentFuncTable[76] := {$IFDEF FPC}@{$ENDIF}Func76;
    -  fIdentFuncTable[77] := {$IFDEF FPC}@{$ENDIF}Func77;
    -  fIdentFuncTable[78] := {$IFDEF FPC}@{$ENDIF}Func78;
    -  fIdentFuncTable[79] := {$IFDEF FPC}@{$ENDIF}Func79;
    -  fIdentFuncTable[80] := {$IFDEF FPC}@{$ENDIF}Func80;
    -  fIdentFuncTable[81] := {$IFDEF FPC}@{$ENDIF}Func81;
    -  fIdentFuncTable[82] := {$IFDEF FPC}@{$ENDIF}Func82;
    -  fIdentFuncTable[83] := {$IFDEF FPC}@{$ENDIF}Func83;
    -  fIdentFuncTable[85] := {$IFDEF FPC}@{$ENDIF}Func85;
    -  fIdentFuncTable[87] := {$IFDEF FPC}@{$ENDIF}Func87;
    -  fIdentFuncTable[89] := {$IFDEF FPC}@{$ENDIF}Func89;
    -  fIdentFuncTable[91] := {$IFDEF FPC}@{$ENDIF}Func91;
    -  fIdentFuncTable[94] := {$IFDEF FPC}@{$ENDIF}Func94;
    -  fIdentFuncTable[96] := {$IFDEF FPC}@{$ENDIF}Func96;
    -  fIdentFuncTable[97] := {$IFDEF FPC}@{$ENDIF}Func97;
    -  fIdentFuncTable[98] := {$IFDEF FPC}@{$ENDIF}Func98;
    -  fIdentFuncTable[99] := {$IFDEF FPC}@{$ENDIF}Func99;
    -  fIdentFuncTable[101] := {$IFDEF FPC}@{$ENDIF}Func101;
    -  fIdentFuncTable[102] := {$IFDEF FPC}@{$ENDIF}Func102;
    -  fIdentFuncTable[103] := {$IFDEF FPC}@{$ENDIF}Func103;
    -  fIdentFuncTable[104] := {$IFDEF FPC}@{$ENDIF}Func104;
    -  fIdentFuncTable[105] := {$IFDEF FPC}@{$ENDIF}Func105;
    -  fIdentFuncTable[107] := {$IFDEF FPC}@{$ENDIF}Func107;
    -  fIdentFuncTable[108] := {$IFDEF FPC}@{$ENDIF}Func108;
    -  fIdentFuncTable[109] := {$IFDEF FPC}@{$ENDIF}Func109;
    -  fIdentFuncTable[111] := {$IFDEF FPC}@{$ENDIF}Func111;
    -  fIdentFuncTable[114] := {$IFDEF FPC}@{$ENDIF}Func114;
    -  fIdentFuncTable[116] := {$IFDEF FPC}@{$ENDIF}Func116;
    -  fIdentFuncTable[118] := {$IFDEF FPC}@{$ENDIF}Func118;
    -  fIdentFuncTable[133] := {$IFDEF FPC}@{$ENDIF}Func133;
    +  fIdentFuncTable[10] := @Func10;
    +  fIdentFuncTable[15] := @Func15;
    +  fIdentFuncTable[17] := @Func17;
    +  fIdentFuncTable[18] := @Func18;
    +  fIdentFuncTable[19] := @Func19;
    +  fIdentFuncTable[20] := @Func20;
    +  fIdentFuncTable[21] := @Func21;
    +  fIdentFuncTable[22] := @Func22;
    +  fIdentFuncTable[23] := @Func23;
    +  fIdentFuncTable[24] := @Func24;
    +  fIdentFuncTable[26] := @Func26;
    +  fIdentFuncTable[27] := @Func27;
    +  fIdentFuncTable[28] := @Func28;
    +  fIdentFuncTable[29] := @Func29;
    +  fIdentFuncTable[30] := @Func30;
    +  fIdentFuncTable[31] := @Func31;
    +  fIdentFuncTable[32] := @Func32;
    +  fIdentFuncTable[33] := @Func33;
    +  fIdentFuncTable[34] := @Func34;
    +  fIdentFuncTable[35] := @Func35;
    +  fIdentFuncTable[36] := @Func36;
    +  fIdentFuncTable[37] := @Func37;
    +  fIdentFuncTable[38] := @Func38;
    +  fIdentFuncTable[39] := @Func39;
    +  fIdentFuncTable[40] := @Func40;
    +  fIdentFuncTable[41] := @Func41;
    +  fIdentFuncTable[42] := @Func42;
    +  fIdentFuncTable[43] := @Func43;
    +  fIdentFuncTable[44] := @Func44;
    +  fIdentFuncTable[45] := @Func45;
    +  fIdentFuncTable[46] := @Func46;
    +  fIdentFuncTable[47] := @Func47;
    +  fIdentFuncTable[48] := @Func48;
    +  fIdentFuncTable[49] := @Func49;
    +  fIdentFuncTable[50] := @Func50;
    +  fIdentFuncTable[52] := @Func52;
    +  fIdentFuncTable[53] := @Func53;
    +  fIdentFuncTable[54] := @Func54;
    +  fIdentFuncTable[55] := @Func55;
    +  fIdentFuncTable[56] := @Func56;
    +  fIdentFuncTable[57] := @Func57;
    +  fIdentFuncTable[58] := @Func58;
    +  fIdentFuncTable[59] := @Func59;
    +  fIdentFuncTable[60] := @Func60;
    +  fIdentFuncTable[62] := @Func62;
    +  fIdentFuncTable[63] := @Func63;
    +  fIdentFuncTable[64] := @Func64;
    +  fIdentFuncTable[65] := @Func65;
    +  fIdentFuncTable[66] := @Func66;
    +  fIdentFuncTable[67] := @Func67;
    +  fIdentFuncTable[68] := @Func68;
    +  fIdentFuncTable[69] := @Func69;
    +  fIdentFuncTable[70] := @Func70;
    +  fIdentFuncTable[71] := @Func71;
    +  fIdentFuncTable[72] := @Func72;
    +  fIdentFuncTable[73] := @Func73;
    +  fIdentFuncTable[74] := @Func74;
    +  fIdentFuncTable[75] := @Func75;
    +  fIdentFuncTable[76] := @Func76;
    +  fIdentFuncTable[77] := @Func77;
    +  fIdentFuncTable[78] := @Func78;
    +  fIdentFuncTable[79] := @Func79;
    +  fIdentFuncTable[80] := @Func80;
    +  fIdentFuncTable[81] := @Func81;
    +  fIdentFuncTable[82] := @Func82;
    +  fIdentFuncTable[83] := @Func83;
    +  fIdentFuncTable[85] := @Func85;
    +  fIdentFuncTable[87] := @Func87;
    +  fIdentFuncTable[89] := @Func89;
    +  fIdentFuncTable[91] := @Func91;
    +  fIdentFuncTable[94] := @Func94;
    +  fIdentFuncTable[96] := @Func96;
    +  fIdentFuncTable[97] := @Func97;
    +  fIdentFuncTable[98] := @Func98;
    +  fIdentFuncTable[99] := @Func99;
    +  fIdentFuncTable[101] := @Func101;
    +  fIdentFuncTable[102] := @Func102;
    +  fIdentFuncTable[103] := @Func103;
    +  fIdentFuncTable[104] := @Func104;
    +  fIdentFuncTable[105] := @Func105;
    +  fIdentFuncTable[107] := @Func107;
    +  fIdentFuncTable[108] := @Func108;
    +  fIdentFuncTable[109] := @Func109;
    +  fIdentFuncTable[111] := @Func111;
    +  fIdentFuncTable[114] := @Func114;
    +  fIdentFuncTable[116] := @Func116;
    +  fIdentFuncTable[118] := @Func118;
    +  fIdentFuncTable[133] := @Func133;
     end;
     
     function TSynVBSyn.KeyHash(ToHash: PChar): Integer;
    @@ -985,7 +975,7 @@
       fToIdent := MayBe;
       HashKey := KeyHash(MayBe);
       if HashKey < 134 then
    -    Result := fIdentFuncTable[HashKey]{$IFDEF FPC}(){$ENDIF}
    +    Result := fIdentFuncTable[HashKey]()
       else
         Result := tkIdentifier; 
     end;
    @@ -996,33 +986,33 @@
     begin
       for I := #0 to #255 do
         case I of
    -      '&': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      #39: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}ApostropheProc;
    -      '}': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      '{': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      #13: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}CRProc;
    -      ':': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      ',': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      '#': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}DateProc;
    -      '=': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      '^': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      '>': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}GreaterProc;
    -      'A'..'Z', 'a'..'z', '_': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}IdentProc;
    -      #10: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LFProc;
    -      '<': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LowerProc;
    -      '-': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      #0: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NullProc;
    -      '0'..'9': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NumberProc;
    -      '+': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      '.': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      ')': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      '(': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      ';': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      '/': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      #1..#9, #11, #12, #14..#32: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SpaceProc;
    -      '*': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
    -      #34: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}StringProc;
    -      else fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}UnknownProc;
    +      '&': fProcTable[I] := @SymbolProc;
    +      #39: fProcTable[I] := @ApostropheProc;
    +      '}': fProcTable[I] := @SymbolProc;
    +      '{': fProcTable[I] := @SymbolProc;
    +      #13: fProcTable[I] := @CRProc;
    +      ':': fProcTable[I] := @SymbolProc;
    +      ',': fProcTable[I] := @SymbolProc;
    +      '#': fProcTable[I] := @DateProc;
    +      '=': fProcTable[I] := @SymbolProc;
    +      '^': fProcTable[I] := @SymbolProc;
    +      '>': fProcTable[I] := @GreaterProc;
    +      'A'..'Z', 'a'..'z', '_': fProcTable[I] := @IdentProc;
    +      #10: fProcTable[I] := @LFProc;
    +      '<': fProcTable[I] := @LowerProc;
    +      '-': fProcTable[I] := @SymbolProc;
    +      #0: fProcTable[I] := @NullProc;
    +      '0'..'9': fProcTable[I] := @NumberProc;
    +      '+': fProcTable[I] := @SymbolProc;
    +      '.': fProcTable[I] := @SymbolProc;
    +      ')': fProcTable[I] := @SymbolProc;
    +      '(': fProcTable[I] := @SymbolProc;
    +      ';': fProcTable[I] := @SymbolProc;
    +      '/': fProcTable[I] := @SymbolProc;
    +      #1..#9, #11, #12, #14..#32: fProcTable[I] := @SpaceProc;
    +      '*': fProcTable[I] := @SymbolProc;
    +      #34: fProcTable[I] := @StringProc;
    +      else fProcTable[I] := @UnknownProc;
         end;
     end;
     
    @@ -1045,13 +1035,13 @@
       AddAttribute(fStringAttri);
       fSymbolAttri := TSynHighlighterAttributes.Create(SYNS_AttrSymbol, SYNS_XML_AttrSymbol);
       AddAttribute(fSymbolAttri);
    -  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
    +  SetAttributesOnChange(@DefHighlightChange);
       InitIdent;
       MakeMethodTables;
       fDefaultFilter := SYNS_FilterVisualBASIC;
     end;
     
    -procedure TSynVBSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer);
    +procedure TSynVBSyn.SetLine(const NewValue: String; LineNumber: Integer);
     begin
       inherited;
       fLine := PChar(NewValue);
    @@ -1160,17 +1150,15 @@
       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;
     
     procedure TSynVBSyn.Next;
     begin
       fTokenPos := Run;
    -  fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
    +  fProcTable[fLine[Run]]();
     end;
     
     function TSynVBSyn.GetDefaultAttribute(Index: integer):
    @@ -1202,14 +1190,12 @@
       SetString(Result, (FLine + fTokenPos), Len);
     end;
     
    -{$IFDEF SYN_LAZARUS}
     procedure TSynVBSyn.GetTokenEx(out TokenStart: PChar;
       out TokenLength: integer);
     begin
       TokenLength:=Run-fTokenPos;
       TokenStart:=FLine + fTokenPos;
     end;
    -{$ENDIF}
     
     function TSynVBSyn.GetTokenID: TtkTokenKind;
     begin
    Index: synhighlighterxml.pas
    ===================================================================
    --- synhighlighterxml.pas	(revision 37490)
    +++ synhighlighterxml.pas	(working copy)
    @@ -172,11 +172,9 @@
         function GetEol: Boolean; override;
         function GetRange: Pointer; override;
         function GetTokenID: TtkTokenKind;
    -    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string; LineNumber:Integer); override;
    +    procedure SetLine(const NewValue: string; LineNumber:Integer); override;
         function GetToken: string; override;
    -    {$IFDEF SYN_LAZARUS}
         procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
    -    {$ENDIF}
         function GetTokenAttribute: TSynHighlighterAttributes; override;
         function GetTokenKind: integer; override;
         function GetTokenPos: Integer; override;
    @@ -292,7 +290,7 @@
       AddAttribute(fSpaceAttri);
       AddAttribute(fTextAttri);
     
    -  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
    +  SetAttributesOnChange(@DefHighlightChange);
     
       MakeMethodTables;
       fRange := rsText;
    @@ -307,35 +305,35 @@
         case i of
         #0:
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}NullProc;
    +        fProcTable[i] := @NullProc;
           end;
         #10:
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}LineFeedProc;
    +        fProcTable[i] := @LineFeedProc;
           end;
         #13:
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}CarriageReturnProc;
    +        fProcTable[i] := @CarriageReturnProc;
           end;
         #1..#9, #11, #12, #14..#32:
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
    +        fProcTable[i] := @SpaceProc;
           end;
         '<':
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}LessThanProc;
    +        fProcTable[i] := @LessThanProc;
           end;
         '>':
           begin
    -        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}GreaterThanProc;
    +        fProcTable[i] := @GreaterThanProc;
           end;
         else
    -      fProcTable[i] := {$IFDEF FPC}@{$ENDIF}IdentProc;
    +      fProcTable[i] := @IdentProc;
         end;
       end;
     end;
     
    -procedure TSynXMLSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string;
    +procedure TSynXMLSyn.SetLine(const NewValue: string;
       LineNumber:Integer);
     begin
       inherited;
    @@ -443,7 +441,7 @@
       fTokenID := tkComment;
     
       if (fLine[Run] In [#0, #10, #13]) then begin
    -    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
    +    fProcTable[fLine[Run]]();
         Exit;
       end;
     
    @@ -461,7 +459,7 @@
     begin
       fTokenID := tkProcessingInstruction;
       if (fLine[Run] In [#0, #10, #13]) then begin
    -    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
    +    fProcTable[fLine[Run]]();
         Exit;
       end;
     
    @@ -483,7 +481,7 @@
       fTokenID := tkDocType;
     
       if (fLine[Run] In [#0, #10, #13]) then begin
    -    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
    +    fProcTable[fLine[Run]]();
         Exit;
       end;
     
    @@ -543,7 +541,7 @@
       fTokenID := tkCDATA;
       if (fLine[Run] In [#0, #10, #13]) then
       begin
    -    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
    +    fProcTable[fLine[Run]]();
         Exit;
       end;
     
    @@ -691,7 +689,7 @@
     const StopSet = [#0..#31, '<', '&'];
     begin
       if fLine[Run] in (StopSet - ['&']) then begin
    -    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
    +    fProcTable[fLine[Run]]();
         exit;
       end;
     
    @@ -756,35 +754,35 @@
       case fRange of
       rsElement, rsOpenElement, rsCloseElement:
         begin
    -      ElementProc{$IFDEF FPC}(){$ENDIF};
    +      ElementProc();
         end;
       rsAttribute:
         begin
    -      AttributeProc{$IFDEF FPC}(){$ENDIF};
    +      AttributeProc();
         end;
       rsEqual, rsnsEqual:
         begin
    -      EqualProc{$IFDEF FPC}(){$ENDIF};
    +      EqualProc();
         end;
       rsQuoteAttrValue, rsnsQuoteAttrValue:
         begin
    -      QAttributeValueProc{$IFDEF FPC}(){$ENDIF};
    +      QAttributeValueProc();
         end;
       rsAposAttrValue, rsnsAPosAttrValue:
         begin
    -      AAttributeValueProc{$IFDEF FPC}(){$ENDIF};
    +      AAttributeValueProc();
         end;
       rsQuoteEntityRef, rsnsQuoteEntityRef:
         begin
    -      QEntityRefProc{$IFDEF FPC}(){$ENDIF};
    +      QEntityRefProc();
         end;
       rsAposEntityRef, rsnsAPosEntityRef:
         begin
    -      AEntityRefProc{$IFDEF FPC}(){$ENDIF};
    +      AEntityRefProc();
         end;
       rsEntityRef:
         begin
    -      EntityRefProc{$IFDEF FPC}(){$ENDIF};
    +      EntityRefProc();
         end;
       else ;
       end;
    @@ -796,26 +794,26 @@
       case fRange of
       rsText:
         begin
    -      TextProc{$IFDEF FPC}(){$ENDIF};
    +      TextProc();
         end;
       rsComment:
         begin
    -      CommentProc{$IFDEF FPC}(){$ENDIF};
    +      CommentProc();
         end;
       rsProcessingInstruction:
         begin
    -      ProcessingInstructionProc{$IFDEF FPC}(){$ENDIF};
    +      ProcessingInstructionProc();
         end;
       rsDocType, rsDocTypeSquareBraces:                                            //ek 2001-11-11
         begin
    -      DocTypeProc{$IFDEF FPC}(){$ENDIF};
    +      DocTypeProc();
         end;
       rsCDATA:
         begin
    -      CDATAProc{$IFDEF FPC}(){$ENDIF};
    +      CDATAProc();
         end;
       else
    -    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
    +    fProcTable[fLine[Run]]();
       end;
     end;
     
    @@ -860,14 +858,12 @@
       SetString(Result, (FLine + fTokenPos), len);
     end;
     
    -{$IFDEF SYN_LAZARUS}
     procedure TSynXMLSyn.GetTokenEx(out TokenStart: PChar;
       out TokenLength: integer);
     begin
       TokenLength:=Run-fTokenPos;
       TokenStart:=FLine + fTokenPos;
     end;
    -{$ENDIF}
     
     function TSynXMLSyn.GetTokenID: TtkTokenKind;
     begin
    Index: synmacrorecorder.pas
    ===================================================================
    --- synmacrorecorder.pas	(revision 37490)
    +++ synmacrorecorder.pas	(working copy)
    @@ -60,7 +60,7 @@
         function GetAsString : string; virtual; abstract;
         procedure InitEventParameters(aStr : string); virtual; abstract;
       public
    -    constructor Create; {$IFNDEF FPC}virtual;{$ENDIF}
    +    constructor Create; virtual;
         procedure Initialize(aCmd: TSynEditorCommand;
           const aChar: TUTF8Char;
           aData: Pointer);  virtual; abstract;
    @@ -438,9 +438,9 @@
       if (PlaybackCommandID <> ecNone) and (PlaybackShortCut <> 0) then
         HookEditor( aEditor, PlaybackCommandID, 0, PlaybackShortCut, []);
     
    -  aEditor.RegisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnCommand, Self, [hcfPreExec]);
    -  aEditor.RegisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnPreCommand, Self, [hcfInit]);
    -  aEditor.RegisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnFinishCommand, Self, [hcfFinish]);
    +  aEditor.RegisterCommandHandler( @OnCommand, Self, [hcfPreExec]);
    +  aEditor.RegisterCommandHandler( @OnPreCommand, Self, [hcfInit]);
    +  aEditor.RegisterCommandHandler( @OnFinishCommand, Self, [hcfFinish]);
     end;
     
     procedure TCustomSynMacroRecorder.DoEditorRemoving(aEditor: TCustomSynEdit);
    @@ -450,9 +450,9 @@
       if PlaybackCommandID <> ecNone then
         UnHookEditor( aEditor, PlaybackCommandID, PlaybackShortCut );
     
    -  aEditor.UnregisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnCommand);
    -  aEditor.UnregisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnPreCommand);
    -  aEditor.UnregisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnFinishCommand);
    +  aEditor.UnregisterCommandHandler( @OnCommand);
    +  aEditor.UnregisterCommandHandler( @OnPreCommand);
    +  aEditor.UnregisterCommandHandler( @OnFinishCommand);
     end;
     
     procedure TCustomSynMacroRecorder.Error(const aMsg: String);
    @@ -999,7 +999,6 @@
     
     { TSynStringEvent }
     
    -{$IFNDEF SYN_COMPILER_3_UP}
     function QuotedStr(const S: string; QuoteChar: Char): string;
     var
       i: Integer;
    @@ -1010,17 +1009,12 @@
           Insert(QuoteChar, Result, i);
       Result := QuoteChar + Result + QuoteChar;
     end;
    -{$ENDIF}
     
     function TSynStringEvent.GetAsString: string;
     begin
       Result := '';
       EditorCommandToIdent(ecString, Result);
    -  {$IFDEF SYN_COMPILER_3_UP}
       Result := Result + ' ' + AnsiQuotedStr(Value, #39);
    -  {$ELSE}
    -  Result := Result + ' ' + QuotedStr(Value, #39);
    -  {$ENDIF}
       if RepeatCount > 1 then
         Result := Result + ' ' + IntToStr(RepeatCount);
     end;
    Index: synmemo.pas
    ===================================================================
    --- synmemo.pas	(revision 37490)
    +++ synmemo.pas	(working copy)
    @@ -44,18 +44,7 @@
     interface
     
     uses
    -  Classes,
    -{$IFDEF SYN_CLX}
    -  Qt,
    -  Types,
    -{$ELSE}
    -  {$IFDEF SYN_LAZARUS}
    -  LCLIntf, Controls,
    -  {$ELSE}
    -  Windows,
    -  {$ENDIF}
    -{$ENDIF}
    -  SynEdit;
    +  Classes, LCLIntf, Controls, SynEdit;
     
     //SelStart and SelEnd are now in TCustomSynEdit                                 //DDH Addition
     
    @@ -79,29 +68,15 @@
       published
         // inherited properties
         property Align;
    -    {$IFDEF SYN_LAZARUS}
         property BorderSpacing;
    -    {$ENDIF}
    -{$IFDEF SYN_COMPILER_4_UP}
         property Anchors;
         property Constraints;
    -{$ENDIF}
         property Color;
    -  {$IFNDEF SYN_CLX}
    -    {$IFNDEF SYN_LAZARUS}
    -    property Ctl3D;
    -    {$ENDIF}
    -  {$ENDIF}
         property Enabled;
         property Font;
         property Height;
         property Name;
         property ParentColor;
    -  {$IFNDEF SYN_CLX}
    -    {$IFNDEF SYN_LAZARUS}
    -    property ParentCtl3D;
    -    {$ENDIF}
    -  {$ENDIF}
         property ParentFont;
         property ParentShowHint;
         property PopupMenu;
    @@ -116,13 +91,6 @@
         property OnDblClick;
         property OnDragDrop;
         property OnDragOver;
    -{$IFDEF SYN_COMPILER_4_UP}
    -{$IFNDEF SYN_CLX}
    -{$IFNDEF SYN_LAZARUS}
    -    property OnEndDock;
    -{$ENDIF}
    -{$ENDIF}
    -{$ENDIF}
         property OnEndDrag;
         property OnEnter;
         property OnExit;
    @@ -132,13 +100,6 @@
         property OnMouseDown;
         property OnMouseMove;
         property OnMouseUp;
    -{$IFDEF SYN_COMPILER_4_UP}
    -{$IFNDEF SYN_CLX}
    -{$IFNDEF SYN_LAZARUS}
    -    property OnStartDock;
    -{$ENDIF}
    -{$ENDIF}
    -{$ENDIF}
         property OnStartDrag;
         // TCustomSynEdit properties
         property BookMarkOptions;
    @@ -161,9 +122,6 @@
         property ReadOnly;
         property RightEdge;
         property RightEdgeColor;
    -    {$IFNDEF SYN_LAZARUS}
    -    property SearchEngine;
    -    {$ENDIF}
         property ScrollBars;
         property SelectedColor;
         property SelectionMode;
    @@ -175,10 +133,6 @@
         property OnCommandProcessed;
         property OnDropFiles;
         property OnGutterClick;
    -    {$IFNDEF SYN_LAZARUS}
    -    property OnGutterGetText;
    -    property OnGutterPaint;
    -    {$ENDIF}
         property OnPaint;
         property OnPlaceBookmark;
         property OnProcessCommand;
    @@ -186,17 +140,11 @@
         property OnReplaceText;
         property OnSpecialLineColors;
         property OnStatusChange;
    -    {$IFNDEF SYN_LAZARUS}
    -    property OnPaintTransient;
    -    {$ENDIF}
       end;
     
     implementation
     
     uses
    -  {$IFNDEF SYN_LAZARUS}
    -  SynEditStrConst,
    -  {$ENDIF}
       SynEditMiscProcs;
     
     { TCustomSynMemo }
    Index: synpluginsyncroedit.pp
    ===================================================================
    --- synpluginsyncroedit.pp	(revision 37490)
    +++ synpluginsyncroedit.pp	(working copy)
    @@ -361,13 +361,13 @@
     begin
       Clear;
       if FLines <> nil then begin
    -    fLines.RemoveChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineTextChanged);
    -    fLines.RemoveChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineTextChanged);
    +    fLines.RemoveChangeHandler(senrLineChange, @LineTextChanged);
    +    fLines.RemoveChangeHandler(senrLineCount, @LineTextChanged);
       end;
       FLines := AValue;
       if FLines <> nil then begin
    -    fLines.AddChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineTextChanged);
    -    fLines.AddChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineTextChanged);
    +    fLines.AddChangeHandler(senrLineChange, @LineTextChanged);
    +    fLines.AddChangeHandler(senrLineCount, @LineTextChanged);
       end;
     end;
     
    @@ -1596,9 +1596,9 @@
       MouseOffset  := AllocatePluginMouseRange(emcSynPSyncroEdCount, True);
       KeyOffset    := AllocatePluginKeyRange(ecSynPSyncroEdCount, True);
     
    -  RegisterKeyCmdIdentProcs({$IFDEF FPC}@{$ENDIF}IdentToSyncroCommand,
    -                           {$IFDEF FPC}@{$ENDIF}SyncroCommandToIdent);
    -  RegisterExtraGetEditorCommandValues({$IFDEF FPC}@{$ENDIF}GetEditorCommandValues);
    +  RegisterKeyCmdIdentProcs(@IdentToSyncroCommand,
    +                           @SyncroCommandToIdent);
    +  RegisterExtraGetEditorCommandValues(@GetEditorCommandValues);
     
     end.
     
    Index: synpluginsyncronizededitbase.pp
    ===================================================================
    --- synpluginsyncronizededitbase.pp	(revision 37490)
    +++ synpluginsyncronizededitbase.pp	(working copy)
    @@ -758,8 +758,8 @@
       Active := False;
       if Editor <> nil then begin
         if not FTextBufferChanging then begin
    -      ViewedTextBuffer.RemoveGenericHandler(senrTextBufferChanging, TMethod({$IFDEF FPC}@{$ENDIF}DoBufferChanging));
    -      ViewedTextBuffer.RemoveGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}DoBufferChanged));
    +      ViewedTextBuffer.RemoveGenericHandler(senrTextBufferChanging, TMethod(@DoBufferChanging));
    +      ViewedTextBuffer.RemoveGenericHandler(senrTextBufferChanged, TMethod(@DoBufferChanged));
         end;
         ViewedTextBuffer.RemoveEditHandler(@DoLinesEdited);
         ViewedTextBuffer.RemoveNotifyHandler(senrAfterIncPaintLock, @DoIncPaintLock);
    @@ -794,8 +794,8 @@
         ViewedTextBuffer.AddNotifyHandler(senrAfterIncPaintLock, @DoIncPaintLock);
         ViewedTextBuffer.AddNotifyHandler(senrBeforeDecPaintLock, @DoDecPaintLock);
         if not FTextBufferChanging then begin
    -      ViewedTextBuffer.AddGenericHandler(senrTextBufferChanging, TMethod({$IFDEF FPC}@{$ENDIF}DoBufferChanging));
    -      ViewedTextBuffer.AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}DoBufferChanged));
    +      ViewedTextBuffer.AddGenericHandler(senrTextBufferChanging, TMethod(@DoBufferChanging));
    +      ViewedTextBuffer.AddGenericHandler(senrTextBufferChanged, TMethod(@DoBufferChanged));
         end;
       end;
     end;
    
    synedit-clean-3.patch (250,593 bytes)

Activities

2012-06-03 18:51

 

synedit-clean-3.patch (250,593 bytes)
Index: lazsynedittext.pas
===================================================================
--- lazsynedittext.pas	(revision 37490)
+++ lazsynedittext.pas	(working copy)
@@ -306,10 +306,8 @@
     function  GetIsRedoing: Boolean; override;
   protected
     function GetCount: integer; override;
-    function GetCapacity: integer;
-      {$IFDEF SYN_COMPILER_3_UP} override; {$ELSE} virtual; {$ENDIF}
-    procedure SetCapacity(NewCapacity: integer);
-      {$IFDEF SYN_COMPILER_3_UP} override; {$ELSE} virtual; {$ENDIF}
+    function GetCapacity: integer; override;
+    procedure SetCapacity(NewCapacity: integer); override;
     function  Get(Index: integer): string; override;
     function  GetObject(Index: integer): TObject; override;
     procedure Put(Index: integer; const S: string); override;
Index: lazsynimm.pas
===================================================================
--- lazsynimm.pas	(revision 37490)
+++ lazsynimm.pas	(working copy)
@@ -237,7 +237,7 @@
 begin
   inherited Create(AOwner);
   FImeBlockSelection := TSynEditSelection.Create(ViewedTextBuffer, False);
-  FImeBlockSelection.InvalidateLinesMethod := {$IFDEF FPC}@{$ENDIF}InvalidateLines;
+  FImeBlockSelection.InvalidateLinesMethod := @InvalidateLines;
 
   TCustomSynEdit(FriendEdit).RegisterStatusChangedHandler(@DoStatusChanged, [scCaretX, scCaretY, scLeftChar, scTopLine, scModified]);
   TCustomSynEdit(FriendEdit).RegisterCommandHandler(@DoOnCommand, nil, [hcfInit]);
@@ -406,9 +406,9 @@
   inherited Create(AOwner);
 
   FImeBlockSelection := TSynEditSelection.Create(ViewedTextBuffer, False);
-  FImeBlockSelection.InvalidateLinesMethod := {$IFDEF FPC}@{$ENDIF}InvalidateLines;
+  FImeBlockSelection.InvalidateLinesMethod := @InvalidateLines;
   FImeBlockSelection2 := TSynEditSelection.Create(ViewedTextBuffer, False);
-  FImeBlockSelection2.InvalidateLinesMethod := {$IFDEF FPC}@{$ENDIF}InvalidateLines;
+  FImeBlockSelection2.InvalidateLinesMethod := @InvalidateLines;
 
   FImeMarkupSelection  := TSynEditMarkupSelection.Create(FriendEdit, FImeBlockSelection);
   FImeMarkupSelection2 := TSynEditMarkupSelection.Create(FriendEdit, FImeBlockSelection2);
Index: syncompletion.pas
===================================================================
--- syncompletion.pas	(revision 37490)
+++ syncompletion.pas	(working copy)
@@ -519,13 +519,10 @@
   FormStyle := fsSystemStayOnTop;
   Scroll := TScrollBar.Create(self);
   Scroll.Kind := sbVertical;
-  {$IFNDEF SYN_LAZARUS}
-  Scroll.ParentCtl3D := False;
-  {$ENDIF}
-  Scroll.OnChange := {$IFDEF FPC}@{$ENDIF}ScrollChange;
+  Scroll.OnChange := @ScrollChange;
   Scroll.Parent := Self;
-  Scroll.OnEnter := {$IFDEF FPC}@{$ENDIF}ScrollGetFocus;
-  Scroll.OnScroll := {$IFDEF FPC}@{$ENDIF}ScrollScroll;
+  Scroll.OnEnter := @ScrollGetFocus;
+  Scroll.OnScroll := @ScrollScroll;
   Scroll.TabStop := False;
   Scroll.Visible := True;
   //Scroll.Align:=alRight;
@@ -572,13 +569,13 @@
   FHint.OnMouseDown :=@HintWindowMouseDown;
   {$ENDIF}
   FHintTimer := TTimer.Create(nil);
-  FHintTimer.OnTimer := {$IFDEF FPC}@{$ENDIF}OnHintTimer;
+  FHintTimer.OnTimer := @OnHintTimer;
   FHintTimer.Interval := 0;
   FLongLineHintTime := 0;
   FLongLineHintType := sclpExtendRightOnly;
   Visible := false;
   ClSelect := clHighlight;
-  TStringList(FItemList).OnChange := {$IFDEF FPC}@{$ENDIF}StringListChange;
+  TStringList(FItemList).OnChange := @StringListChange;
   FNbLinesInWindow := 6;
   FontChanged(Font);
   ShowHint := False;
@@ -1129,7 +1126,7 @@
 begin
   if FCurrentEditor <> nil then begin
     FCurrentEditor.RegisterStatusChangedHandler
-    ({$IFDEF FPC}@{$ENDIF}EditorStatusChanged, [scTopLine]);
+    (@EditorStatusChanged, [scTopLine]);
     // Catch Editor events. Some Widgetset may report keys to the editor,
     // if the user types faster, then the app can open the form
     FCurrentEditor.RegisterBeforeKeyDownHandler(@DoEditorKeyDown);
@@ -1137,19 +1134,19 @@
     FCurrentEditor.RegisterBeforeUtf8KeyPressHandler(@DoEditorUtf8KeyPress);
   end;
   if not EditOnly then
-    Application.AddOnDeactivateHandler({$IFDEF FPC}@{$ENDIF}AppDeactivated);
+    Application.AddOnDeactivateHandler(@AppDeactivated);
 end;
 
 procedure TSynBaseCompletionForm.UnRegisterHandlers(EditOnly: Boolean);
 begin
   if FCurrentEditor <> nil then begin
-    FCurrentEditor.UnRegisterStatusChangedHandler({$IFDEF FPC}@{$ENDIF}EditorStatusChanged);
+    FCurrentEditor.UnRegisterStatusChangedHandler(@EditorStatusChanged);
     FCurrentEditor.UnregisterBeforeKeyDownHandler(@DoEditorKeyDown);
     FCurrentEditor.UnregisterBeforeKeyPressHandler(@DoEditorKeyPress);
     FCurrentEditor.UnregisterBeforeUtf8KeyPressHandler(@DoEditorUtf8KeyPress);
   end;
   if not EditOnly then
-    Application.RemoveOnDeactivateHandler({$IFDEF FPC}@{$ENDIF}AppDeactivated);
+    Application.RemoveOnDeactivateHandler(@AppDeactivated);
 end;
 
 procedure TSynBaseCompletionForm.SetCurrentEditor(const AValue: TCustomSynEdit);
@@ -1754,9 +1751,9 @@
 begin
   inherited Create(AOwner);
   Form.OnUTF8KeyPress := @UTF8KeyPress;
-  Form.OnKeyDelete := {$IFDEF FPC}@{$ENDIF}Backspace;
-  Form.OnValidate := {$IFDEF FPC}@{$ENDIF}Validate;
-  Form.OnCancel := {$IFDEF FPC}@{$ENDIF}Cancel;
+  Form.OnKeyDelete := @Backspace;
+  Form.OnValidate := @Validate;
+  Form.OnCancel := @Cancel;
   Form.OnPaint:=@OnFormPaint;
   FEndOfTokenChr := '()[].';
   fShortCut := Menus.ShortCut(Ord(' '), [ssCtrl]);
@@ -2140,9 +2137,9 @@
 initialization
   KeyOffset    := AllocatePluginKeyRange(ecSynCompletionCount, True);
 
-  RegisterKeyCmdIdentProcs({$IFDEF FPC}@{$ENDIF}IdentToSynCompletionCommand,
-                           {$IFDEF FPC}@{$ENDIF}SynCompletionCommandToIdent);
-  RegisterExtraGetEditorCommandValues({$IFDEF FPC}@{$ENDIF}GetEditorCommandValues);
+  RegisterKeyCmdIdentProcs(@IdentToSynCompletionCommand,
+                           @SynCompletionCommandToIdent);
+  RegisterExtraGetEditorCommandValues(@GetEditorCommandValues);
 
 
 end.
Index: synedit.pp
===================================================================
--- synedit.pp	(revision 37490)
+++ synedit.pp	(working copy)
@@ -95,11 +95,7 @@
   SynGutterBase, SynGutter, SynGutterCodeFolding, SynGutterChanges,
   SynGutterLineNumber, SynGutterMarks, SynGutterLineOverview,
   SynEditMiscClasses, SynEditHighlighter, LazSynTextArea, SynTextDrawer,
-  LResources, Clipbrd
-  {$IFDEF SYN_COMPILER_4_UP}
-  , StdActns
-  {$ENDIF}
-  ;
+  LResources, Clipbrd, StdActns;
 
 const
   ScrollBarWidth=0;
@@ -111,11 +107,6 @@
   SynDefaultFontPitch:   TFontPitch   = fpFixed;
   SynDefaultFontQuality: TFontQuality = fqNonAntialiased;
 
-  {$IFNDEF SYN_COMPILER_3_UP}
-   // not defined in all Delphi versions
-  WM_MOUSEWHEEL = $020A;
-  {$ENDIF}
-
   // maximum scroll range
   MAX_SCROLL = 32767;
 
@@ -440,13 +431,13 @@
     procedure WMDropFiles(var Msg: TMessage); message WM_DROPFILES;
     procedure WMEraseBkgnd(var Msg: TMessage); message WM_ERASEBKGND;
     procedure WMGetDlgCode(var Msg: TWMGetDlgCode); message WM_GETDLGCODE;
-    procedure WMHScroll(var Msg: {$IFDEF SYN_LAZARUS}TLMScroll{$ELSE}TWMScroll{$ENDIF}); message WM_HSCROLL;
+    procedure WMHScroll(var Msg: TLMScroll); message WM_HSCROLL;
     procedure WMKillFocus(var Msg: TWMKillFocus); message WM_KILLFOCUS;
     procedure WMExit(var Message: TLMExit); message LM_EXIT;
     procedure WMMouseWheel(var Message: TLMMouseEvent); message LM_MOUSEWHEEL;
     //procedure WMMouseWheel(var Msg: TMessage); message WM_MOUSEWHEEL;
     procedure WMSetFocus(var Msg: TLMSetFocus); message WM_SETFOCUS;
-    procedure WMVScroll(var Msg: {$IFDEF SYN_LAZARUS}TLMScroll{$ELSE}TWMScroll{$ENDIF}); message WM_VSCROLL;
+    procedure WMVScroll(var Msg: TLMScroll); message WM_VSCROLL;
   protected
     procedure CMWantSpecialKey(var Message: TLMessage); message CM_WANTSPECIALKEY;
   private
@@ -928,9 +919,7 @@
     property CanPaste: Boolean read GetCanPaste;
 
     procedure DragDrop(Source: TObject; X, Y: Integer); override;
-{$IFDEF SYN_COMPILER_4_UP}
     function ExecuteAction(ExeAction: TBasicAction): boolean; override;
-{$ENDIF}
     procedure CommandProcessor(Command:TSynEditorCommand;
       AChar: TUTF8Char;
       Data:pointer); virtual;
@@ -1011,9 +1000,7 @@
     procedure ResetMouseActions;  // set mouse-actions according to current Options / may clear them
     procedure SetOptionFlag(Flag: TSynEditorOption; Value: boolean);
     Procedure SetHighlightSearch(const ASearch: String; AOptions: TSynSearchOptions);
-{$IFDEF SYN_COMPILER_4_UP}
     function UpdateAction(TheAction: TBasicAction): boolean; override;
-{$ENDIF}
     procedure WndProc(var Msg: TMessage); override;
     procedure EraseBackground(DC: HDC); override;
   public
@@ -1148,10 +1135,8 @@
     property BlockIndent;
     property BlockTabIndent;
     property BorderSpacing;
-{$IFDEF SYN_COMPILER_4_UP}
     property Anchors;
     property Constraints;
-{$ENDIF}
     property Color;
     property Cursor default crIBeam;
     property Enabled;
@@ -1175,10 +1160,8 @@
     property OnQuadClick;
     property OnDragDrop;
     property OnDragOver;
-{$IFDEF SYN_COMPILER_4_UP}
 // ToDo Docking
     property OnEndDock;
-{$ENDIF}
     property OnEndDrag;
     property OnEnter;
     property OnExit;
@@ -1192,10 +1175,8 @@
     property OnMouseLink: TSynMouseLinkEvent read FOnMouseLink write FOnMouseLink;
     property OnMouseEnter;
     property OnMouseLeave;
-{$IFDEF SYN_COMPILER_4_UP}
 // ToDo Docking
     property OnStartDock;
-{$ENDIF}
     property OnStartDrag;
     // TCustomSynEdit properties
     property BookMarkOptions;
@@ -1881,7 +1862,7 @@
 
   FCaret := TSynEditCaret.Create;
   FCaret.MaxLeftChar := @CurrentMaxLineLen;
-  FCaret.AddChangeHandler({$IFDEF FPC}@{$ENDIF}CaretChanged);
+  FCaret.AddChangeHandler(@CaretChanged);
   FInternalCaret := TSynEditCaret.Create;
   FInternalCaret.MaxLeftChar := @CurrentMaxLineLen;
 
@@ -1900,14 +1881,14 @@
   FTopLinesView := FTrimmedLinesView;
 
   FFoldedLinesView := TSynEditFoldedView.Create(FTheLinesView, fCaret);
-  FFoldedLinesView.OnFoldChanged := {$IFDEF FPC}@{$ENDIF}FoldChanged;
-  FFoldedLinesView.OnLineInvalidate := {$IFDEF FPC}@{$ENDIF}InvalidateGutterLines;
+  FFoldedLinesView.OnFoldChanged := @FoldChanged;
+  FFoldedLinesView.OnLineInvalidate := @InvalidateGutterLines;
   FFoldedLinesView.DisplayView.NextView := FTheLinesView.DisplayView;
 
   FDisplayView := FFoldedLinesView.DisplayView;
 
   // External Accessor
-  FStrings := TSynEditLines.Create(TSynEditStringList(FLines), {$IFDEF FPC}@{$ENDIF}MarkTextAsSaved);
+  FStrings := TSynEditLines.Create(TSynEditStringList(FLines), @MarkTextAsSaved);
 
   FCaret.Lines := FTheLinesView;
   FInternalCaret.Lines := FTheLinesView;
@@ -1916,24 +1897,24 @@
   FOldHeight := -1;
 
   with TSynEditStringList(fLines) do begin
-    AddChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
-    AddChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineTextChanged);
-    AddChangeHandler(senrHighlightChanged, {$IFDEF FPC}@{$ENDIF}DoHighlightChanged);
-    AddNotifyHandler(senrCleared, {$IFDEF FPC}@{$ENDIF}ListCleared);
-    AddNotifyHandler(senrUndoRedoAdded, {$IFDEF FPC}@{$ENDIF}Self.UndoRedoAdded);
-    AddNotifyHandler(senrModifiedChanged, {$IFDEF FPC}@{$ENDIF}ModifiedChanged);
-    AddNotifyHandler(senrIncPaintLock, {$IFDEF FPC}@{$ENDIF}DoIncPaintLock);
-    AddNotifyHandler(senrDecPaintLock, {$IFDEF FPC}@{$ENDIF}DoDecPaintLock);
-    AddNotifyHandler(senrIncOwnedPaintLock, {$IFDEF FPC}@{$ENDIF}DoIncForeignPaintLock);
-    AddNotifyHandler(senrDecOwnedPaintLock, {$IFDEF FPC}@{$ENDIF}DoDecForeignPaintLock);
+    AddChangeHandler(senrLineCount, @LineCountChanged);
+    AddChangeHandler(senrLineChange, @LineTextChanged);
+    AddChangeHandler(senrHighlightChanged, @DoHighlightChanged);
+    AddNotifyHandler(senrCleared, @ListCleared);
+    AddNotifyHandler(senrUndoRedoAdded, @Self.UndoRedoAdded);
+    AddNotifyHandler(senrModifiedChanged, @ModifiedChanged);
+    AddNotifyHandler(senrIncPaintLock, @DoIncPaintLock);
+    AddNotifyHandler(senrDecPaintLock, @DoDecPaintLock);
+    AddNotifyHandler(senrIncOwnedPaintLock, @DoIncForeignPaintLock);
+    AddNotifyHandler(senrDecOwnedPaintLock, @DoDecForeignPaintLock);
   end;
 
   FScreenCaret := TSynEditScreenCaret.Create(Self);
-  FScreenCaret.OnExtraLineCharsChanged := {$IFDEF FPC}@{$ENDIF}ExtraLineCharsChanged;
+  FScreenCaret.OnExtraLineCharsChanged := @ExtraLineCharsChanged;
 
   FUndoList := TSynEditStringList(fLines).UndoList;
   FRedoList := TSynEditStringList(fLines).RedoList;
-  FUndoList.OnNeedCaretUndo := {$IFDEF FPC}@{$ENDIF}GetCaretUndo;
+  FUndoList.OnNeedCaretUndo := @GetCaretUndo;
   {$IFDEF SynUndoDebugCalls}
   fUndoList.DebugName := 'UNDO';
   fRedoList.DebugName := 'REDO';
@@ -1941,11 +1922,11 @@
 
   FBlockSelection := TSynEditSelection.Create(FTheLinesView, True);
   FBlockSelection.Caret := FCaret;
-  FBlockSelection.InvalidateLinesMethod := {$IFDEF FPC}@{$ENDIF}InvalidateLines;
-  FBlockSelection.AddChangeHandler({$IFDEF FPC}@{$ENDIF}DoBlockSelectionChanged);
+  FBlockSelection.InvalidateLinesMethod := @InvalidateLines;
+  FBlockSelection.AddChangeHandler(@DoBlockSelectionChanged);
 
   FInternalBlockSelection := TSynEditSelection.Create(FTheLinesView, False);
-  FInternalBlockSelection.InvalidateLinesMethod := {$IFDEF FPC}@{$ENDIF}InvalidateLines;
+  FInternalBlockSelection.InvalidateLinesMethod := @InvalidateLines;
   // No need for caret, on interanl block
 
   FFoldedLinesView.BlockSelection := FBlockSelection;
@@ -1962,14 +1943,14 @@
   FPaintLineColor := TSynSelectedColor.Create;
   FPaintLineColor2 := TSynSelectedColor.Create;
   fBookMarkOpt := TSynBookMarkOpt.Create(Self);
-  fBookMarkOpt.OnChange := {$IFDEF FPC}@{$ENDIF}BookMarkOptionsChanged;
+  fBookMarkOpt.OnChange := @BookMarkOptionsChanged;
 
   FLeftGutter := CreateGutter(self, gsLeft, FTextDrawer);
-  FLeftGutter.RegisterChangeHandler({$IFDEF FPC}@{$ENDIF}GutterChanged);
-  FLeftGutter.RegisterResizeHandler({$IFDEF FPC}@{$ENDIF}GutterResized);
+  FLeftGutter.RegisterChangeHandler(@GutterChanged);
+  FLeftGutter.RegisterResizeHandler(@GutterResized);
   FRightGutter := CreateGutter(self, gsRight, FTextDrawer);
-  FRightGutter.RegisterChangeHandler({$IFDEF FPC}@{$ENDIF}GutterChanged);
-  FRightGutter.RegisterResizeHandler({$IFDEF FPC}@{$ENDIF}GutterResized);
+  FRightGutter.RegisterChangeHandler(@GutterChanged);
+  FRightGutter.RegisterResizeHandler(@GutterResized);
 
   ControlStyle := ControlStyle + [csOpaque, csSetCaption, csTripleClicks, csQuadClicks];
   Height := 150;
@@ -2044,7 +2025,7 @@
 
   Color := clWhite;
   Font.Assign(fFontDummy);
-  Font.OnChange := {$IFDEF FPC}@{$ENDIF}FontChanged;
+  Font.OnChange := @FontChanged;
   FontChanged(nil);
   ParentFont := False;
   ParentColor := False;
@@ -2086,7 +2067,7 @@
   fScrollTimer := TTimer.Create(Self);
   fScrollTimer.Enabled := False;
   fScrollTimer.Interval := 100;
-  fScrollTimer.OnTimer := {$IFDEF FPC}@{$ENDIF}ScrollTimerHandler;
+  fScrollTimer.OnTimer := @ScrollTimerHandler;
 
   // Accessibility
   AccessibleRole := larTextEditorMultiline;
@@ -2127,7 +2108,7 @@
     Style := Style or ScrollBar[FScrollBars] or BorderStyles[BorderStyle]
       or WS_CLIPCHILDREN;
     {$IFDEF RangeCheckOn}{$R+}{$ENDIF}
-    if NewStyleControls {$IFNDEF SYN_LAZARUS}and Ctl3D{$ENDIF} and (BorderStyle = bsSingle) then begin
+    if NewStyleControls and (BorderStyle = bsSingle) then begin
       Style := Style and not Cardinal(WS_BORDER);
       ExStyle := ExStyle or WS_EX_CLIENTEDGE;
     end;
@@ -2293,17 +2274,17 @@
   end;
 
   RemoveHandlers;
-  FLeftGutter.UnRegisterChangeHandler({$IFDEF FPC}@{$ENDIF}GutterChanged);
-  FLeftGutter.UnRegisterResizeHandler({$IFDEF FPC}@{$ENDIF}GutterResized);
-  FRightGutter.UnRegisterChangeHandler({$IFDEF FPC}@{$ENDIF}GutterChanged);
-  FRightGutter.UnRegisterResizeHandler({$IFDEF FPC}@{$ENDIF}GutterResized);
+  FLeftGutter.UnRegisterChangeHandler(@GutterChanged);
+  FLeftGutter.UnRegisterResizeHandler(@GutterResized);
+  FRightGutter.UnRegisterChangeHandler(@GutterChanged);
+  FRightGutter.UnRegisterResizeHandler(@GutterResized);
 
   FreeAndNil(FHookedKeyTranslationList);
   fHookedCommandHandlers:=nil;
   fPlugins:=nil;
   FCaret.Lines := nil;
   FInternalCaret.Lines := nil;
-  FMarkList.UnRegisterChangeHandler({$IFDEF FPC}@{$ENDIF}MarkListChange);
+  FMarkList.UnRegisterChangeHandler(@MarkListChange);
   FreeAndNil(FPaintArea);
   FreeAndNil(FLeftGutterArea);
   FreeAndNil(FRightGutterArea);
@@ -3153,19 +3134,19 @@
   try
     // Check plugins/external handlers
     if FMouseActionSearchHandlerList.CallSearchHandlers(Info,
-                                         {$IFDEF FPC}@{$ENDIF}DoHandleMouseAction)
+                                         @DoHandleMouseAction)
     then
       exit;
 
     if FLeftGutter.Visible and (X < FLeftGutter.Width) then begin
       // mouse event occured in Gutter ?
-      if FLeftGutter.MaybeHandleMouseAction(Info, {$IFDEF FPC}@{$ENDIF}DoHandleMouseAction) then
+      if FLeftGutter.MaybeHandleMouseAction(Info, @DoHandleMouseAction) then
         exit;
     end
     else
     if FRightGutter.Visible and (X > ClientWidth - FRightGutter.Width) then begin
       // mouse event occured in Gutter ?
-      if FRightGutter.MaybeHandleMouseAction(Info, {$IFDEF FPC}@{$ENDIF}DoHandleMouseAction) then
+      if FRightGutter.MaybeHandleMouseAction(Info, @DoHandleMouseAction) then
         exit;
     end
     else
@@ -4458,7 +4439,7 @@
     Msg.Result := Msg.Result or DLGC_WANTTAB;
 end;
 
-procedure TCustomSynEdit.WMHScroll(var Msg: {$IFDEF SYN_LAZARUS}TLMScroll{$ELSE}TWMScroll{$ENDIF});
+procedure TCustomSynEdit.WMHScroll(var Msg: TLMScroll);
 begin
   case Msg.ScrollCode of
       // Scrolls to start / end of the line
@@ -4555,7 +4536,7 @@
   Result.HideInterval := 1500;
 end;
 
-procedure TCustomSynEdit.WMVScroll(var Msg: {$IFDEF SYN_LAZARUS}TLMScroll{$ELSE}TWMScroll{$ENDIF});
+procedure TCustomSynEdit.WMVScroll(var Msg: TLMScroll);
 var
   s: ShortString;
   rc: TRect;
@@ -5271,7 +5252,7 @@
 
   // Recreate te public access to FLines
   FreeAndNil(FStrings);
-  FStrings := TSynEditLines.Create(TSynEditStringList(FLines), {$IFDEF FPC}@{$ENDIF}MarkTextAsSaved);
+  FStrings := TSynEditLines.Create(TSynEditStringList(FLines), @MarkTextAsSaved);
 
   // Flines has been set to the new buffer; and self is attached to the new FLines
   // FTheLinesView points to new FLines
@@ -5327,7 +5308,7 @@
       FBookMarks[i] := nil;
   end;
 
-  FMarkList.RegisterChangeHandler({$IFDEF FPC}@{$ENDIF}MarkListChange,
+  FMarkList.RegisterChangeHandler(@MarkListChange,
     [low(TSynEditMarkChangeReason)..high(TSynEditMarkChangeReason)]);
 end;
 
@@ -5340,7 +5321,7 @@
     exit;
 
   TSynEditMarkListInternal(fMarkList).RemoveOwnerEdit(Self);
-  FMarkList.UnRegisterChangeHandler({$IFDEF FPC}@{$ENDIF}MarkListChange);
+  FMarkList.UnRegisterChangeHandler(@MarkListChange);
 
   if IsMarkListShared then begin
     s := TSynEditStringList(FLines).AttachedSynEdits[0];
@@ -5748,7 +5729,7 @@
 begin
   if not Assigned(fHighlighter) then
     exit;
-  fHighlighter.UnhookAttrChangeEvent({$IFDEF FPC}@{$ENDIF}HighlighterAttrChanged);
+  fHighlighter.UnhookAttrChangeEvent(@HighlighterAttrChanged);
   fHighlighter.DetachFromLines(FLines);
   fHighlighter.RemoveFreeNotification(self);
 end;
@@ -5760,7 +5741,7 @@
     RemoveHooksFromHighlighter;
     if Assigned(Value) then begin
       Value.HookAttrChangeEvent(
-        {$IFDEF FPC}@{$ENDIF}HighlighterAttrChanged);
+        @HighlighterAttrChanged);
       Value.FreeNotification(Self);
       Value.AttachToLines(FLines);
     end;
@@ -6612,7 +6593,7 @@
   {$IFDEF SynUndoDebugBeginEnd}
   DebugLnEnter(['>> TCustomSynEdit.InternalBeginUndoBlock', DbgSName(self), ' ', dbgs(Self), ' aList=', aList, ' FPaintLock=', FPaintLock, ' InGroupCount=',aList.InGroupCount]);
   {$ENDIF}
-  aList.OnNeedCaretUndo := {$IFDEF FPC}@{$ENDIF}GetCaretUndo;
+  aList.OnNeedCaretUndo := @GetCaretUndo;
   aList.BeginBlock;
   IncPaintLock;
   FFoldedLinesView.Lock;
@@ -6639,7 +6620,7 @@
   DebugLnEnter(['>> TCustomSynEdit.BeginUndoBlock ', DbgSName(self), ' ', dbgs(Self), ' Caller=', ACaller, ' FPaintLock=', FPaintLock, ' InGroupCount=',fUndoList.InGroupCount, '  FIsInDecPaintLock=',dbgs(FIsInDecPaintLock)]);
   if ACaller = '' then DumpStack;
   {$ENDIF}
-  fUndoList.OnNeedCaretUndo := {$IFDEF FPC}@{$ENDIF}GetCaretUndo;
+  fUndoList.OnNeedCaretUndo := @GetCaretUndo;
   fUndoList.BeginBlock;
   ////FFoldedLinesView.Lock;
   //FTrimmedLinesView.Lock;
@@ -7961,7 +7942,6 @@
   end;
 end;
 
-{$IFDEF SYN_COMPILER_4_UP}
 function TCustomSynEdit.ExecuteAction(ExeAction: TBasicAction): boolean;
 begin
   if ExeAction is TEditAction then
@@ -7973,14 +7953,12 @@
       CopyToClipboard
     else if ExeAction is TEditPaste then
       PasteFromClipboard
-{$IFDEF SYN_COMPILER_5_UP}
     else if ExeAction is TEditDelete then
       ClearSelection
     else if ExeAction is TEditUndo then
       Undo
     else if ExeAction is TEditSelectAll then
       SelectAll;
-{$ENDIF}
   end else
     Result := inherited ExecuteAction(ExeAction);
 end;
@@ -7996,19 +7974,16 @@
         TEditAction(TheAction).Enabled := SelAvail
       else if TheAction is TEditPaste then
         TEditAction(TheAction).Enabled := CanPaste
-{$IFDEF SYN_COMPILER_5_UP}
       else if TheAction is TEditDelete then
         TEditAction(TheAction).Enabled := TRUE
       else if TheAction is TEditUndo then
         TEditAction(TheAction).Enabled := CanUndo
       else if TheAction is TEditSelectAll then
         TEditAction(TheAction).Enabled := TRUE;
-{$ENDIF}
     end;
   end else
     Result := inherited UpdateAction(TheAction);
 end;
-{$ENDIF}
 
 procedure TCustomSynEdit.SetModified(Value: boolean);
 begin
Index: syneditautocomplete.pp
===================================================================
--- syneditautocomplete.pp	(revision 37490)
+++ syneditautocomplete.pp	(working copy)
@@ -166,7 +166,7 @@
   inherited Create(AOwner);
   fAutoCompleteList := TStringList.Create;
   TStringList(fAutoCompleteList).OnChange :=
-     {$IFDEF FPC}@{$ENDIF}CompletionListChanged;
+     @CompletionListChanged;
   fCompletions := TStringList.Create;
   fCompletionComments := TStringList.Create;
   fCompletionValues := TStringList.Create;
@@ -561,13 +561,13 @@
 procedure TCustomSynAutoComplete.DoEditorAdded(AValue: TCustomSynEdit);
 begin
   inherited DoEditorAdded(AValue);
-  AValue.RegisterCommandHandler({$IFDEF FPC}@{$ENDIF}SynEditCommandHandler, nil);
+  AValue.RegisterCommandHandler(@SynEditCommandHandler, nil);
 end;
 
 procedure TCustomSynAutoComplete.DoEditorRemoving(AValue: TCustomSynEdit);
 begin
   inherited DoEditorRemoving(AValue);
-  AValue.UnregisterCommandHandler({$IFDEF FPC}@{$ENDIF}SynEditCommandHandler);
+  AValue.UnregisterCommandHandler(@SynEditCommandHandler);
 end;
 
 end.
Index: syneditexport.pas
===================================================================
--- syneditexport.pas	(revision 37490)
+++ syneditexport.pas	(working copy)
@@ -50,24 +50,8 @@
   Classes,
   SysUtils,
   SynEditHighlighter,
-{$IFDEF SYN_KYLIX}
-  Libc,  //js 07-04-2002 "," was missing here 
-{$ENDIF}
-{$IFDEF SYN_CLX}
-  Qt,
-  QGraphics,
-  Types,
-  QClipbrd
-{$ELSE}
-{$IFDEF SYN_LAZARUS}
   FileUtil, FPCAdds, LCLIntf, LCLType,
-{$ELSE}
-  Windows,
-{$ENDIF}
-  Graphics,
-  Clipbrd
-{$ENDIF}
-  ;
+  Graphics, Clipbrd;
 
 type
   PSynReplaceCharsArray = ^TSynReplaceCharsArray;
@@ -221,9 +205,7 @@
   inherited Create(AOwner);
   fBuffer := TMemoryStream.Create;
   {*****************}
-{$IFNDEF SYN_CLX}
   fClipboardFormat := CF_TEXT;
-{$ENDIF}
   fFont := TFont.Create;
   fBackgroundColor := clWindow;
   AssignFont(nil);
@@ -282,48 +264,15 @@
 procedure TSynCustomExporter.CopyToClipboard;
 begin
   if fExportAsText then
-  {$IFDEF SYN_CLX}
-    CopyToClipboardFormat(0)
-  {$ELSE}
     CopyToClipboardFormat(CF_TEXT)
-  {$ENDIF}
   else
     CopyToClipboardFormat(GetClipboardFormat);
 end;
 
 procedure TSynCustomExporter.CopyToClipboardFormat(AFormat: UINT);
-{$IFNDEF SYN_LAZARUS}
-var
-  hData: THandle;
-  hDataSize: UINT;
-  PtrData: PChar;
-{$ENDIF}
 begin
-  {$IFDEF SYN_LAZARUS}
   fBuffer.Position:=0;
   ClipBoard.AddFormat(AFormat,fBuffer);
-  {$ELSE}
-  {$IFNDEF SYN_CLX}
-  hDataSize := GetBufferSize + 1;
-  hData := GlobalAlloc(GMEM_MOVEABLE or GMEM_ZEROINIT or GMEM_SHARE, hDataSize);
-  if hData <> 0 then try
-    PtrData := GlobalLock(hData);
-    if Assigned(PtrData) then begin
-      try
-        fBuffer.Position := 0;
-        fBuffer.Read(PtrData^, hDataSize - 1); // trailing #0
-      finally
-        GlobalUnlock(hData);
-      end;
-      Clipboard.SetAsHandle(AFormat, hData);
-    end else
-      Abort;
-  except
-    GlobalFree(hData);
-    OutOfMemoryError;
-  end;
-  {$ENDIF}
-  {$ENDIF}
 end;
 
 procedure TSynCustomExporter.ExportAll(ALines: TStrings);
@@ -342,20 +291,12 @@
   if not Assigned(ALines) or not Assigned(Highlighter) or (ALines.Count = 0)
     or (Start.Y > ALines.Count) or (Start.Y > Stop.Y)
   then
-  {$IFDEF SYN_CLX}
-    exit;
-  {$ELSE}
     Abort;
-  {$ENDIF}
   Stop.Y := Max(1, Min(Stop.Y, ALines.Count));
   Stop.X := Max(1, Min(Stop.X, Length(ALines[Stop.Y - 1]) + 1));
   Start.X := Max(1, Min(Start.X, Length(ALines[Start.Y - 1]) + 1));
   if (Start.Y = Stop.Y) and (Start.X >= Stop.X) then
-  {$IFDEF SYN_CLX}
-    exit;
-  {$ELSE}
     Abort;
-  {$ENDIF}
   // initialization
   fBuffer.Position := 0;
   // Size is ReadOnly in Delphi 2
@@ -414,7 +355,7 @@
 
 procedure TSynCustomExporter.InsertData(APos: integer; const AText: string);
 var
-  Len, ToMove, SizeNeeded: {$IFDEF SYN_LAZARUS}TStreamSeekType{$ELSE}integer{$ENDIF};
+  Len, ToMove, SizeNeeded: TStreamSeekType;
   Dest: PChar;
 begin
   Len := Length(AText);
@@ -425,11 +366,7 @@
       // Size is ReadOnly in Delphi 2
       fBuffer.SetSize((SizeNeeded + $1800) and not $FFF); // increment in pages
     Dest := fBuffer.Memory;
-    {$IFDEF SYN_LAZARUS}
     Dest:=Dest+Len;
-    {$ELSE}
-    inc(Dest,Len);
-    {$ENDIF}
     Move(fBuffer.Memory^, Dest^, TCompareMemSize(ToMove));
     fBuffer.Position := 0;
     fBuffer.Write(AText[1], TMemStreamSeekType(Len));
Index: syneditfoldedview.pp
===================================================================
--- syneditfoldedview.pp	(revision 37490)
+++ syneditfoldedview.pp	(working copy)
@@ -3226,7 +3226,7 @@
   fLinesInWindow := -1;
   fLines := aTextView;
   fCaret := ACaret;
-  fCaret.AddChangeHandler({$IFDEF FPC}@{$ENDIF}DoCaretChanged);
+  fCaret.AddChangeHandler(@DoCaretChanged);
   fFoldTree := TSynTextFoldAVLTree.Create;
   FFoldProvider := TSynEditFoldProvider.Create(aTextView, fFoldTree);
   FDisplayView := TLazSynDisplayFold.Create(Self);
@@ -3236,17 +3236,17 @@
   FMarkupInfoFoldedCode.Foreground := clDkGray;
   FMarkupInfoFoldedCode.FrameColor := clDkGray;
 
-  fLines.AddChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
-  fLines.AddNotifyHandler(senrCleared, {$IFDEF FPC}@{$ENDIF}LinesCleared);
-  fLines.AddEditHandler({$IFDEF FPC}@{$ENDIF}LineEdited);
+  fLines.AddChangeHandler(senrLineCount, @LineCountChanged);
+  fLines.AddNotifyHandler(senrCleared, @LinesCleared);
+  fLines.AddEditHandler(@LineEdited);
 end;
 
 destructor TSynEditFoldedView.Destroy;
 begin
-  fLines.RemoveChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
-  fLines.RemoveNotifyHandler(senrCleared, {$IFDEF FPC}@{$ENDIF}LinesCleared);
-  fLines.RemoveEditHandler({$IFDEF FPC}@{$ENDIF}LineEdited);
-  fCaret.RemoveChangeHandler({$IFDEF FPC}@{$ENDIF}DoCaretChanged);
+  fLines.RemoveChangeHandler(senrLineCount, @LineCountChanged);
+  fLines.RemoveNotifyHandler(senrCleared, @LinesCleared);
+  fLines.RemoveEditHandler(@LineEdited);
+  fCaret.RemoveChangeHandler(@DoCaretChanged);
   FreeAndNil(FDisplayView);
   fFoldTree.Free;
   fTextIndexList := nil;
Index: synedithighlighterfoldbase.pas
===================================================================
--- synedithighlighterfoldbase.pas	(revision 37490)
+++ synedithighlighterfoldbase.pas	(working copy)
@@ -350,7 +350,7 @@
 
     procedure SetRange(Value: Pointer); override;
     procedure ResetRange; override;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
+    procedure SetLine(const NewValue: String;
                       LineNumber:Integer // 0 based
                       ); override;
   public
Index: synedithighlighterxmlbase.pas
===================================================================
--- synedithighlighterxmlbase.pas	(revision 37490)
+++ synedithighlighterxmlbase.pas	(working copy)
@@ -74,7 +74,7 @@
     procedure EndXmlCodeFoldBlock;
     procedure EndXmlNodeCodeFoldBlock(ClosePos: Integer = -1; AName: String = '');
   public
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string; LineNumber:Integer); override;
+    procedure SetLine(const NewValue: string; LineNumber:Integer); override;
   end;
 
 implementation
@@ -102,7 +102,7 @@
   end;
 end;
 
-procedure TSynCustomXmlHighlighter.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string;
+procedure TSynCustomXmlHighlighter.SetLine(const NewValue: string;
   LineNumber:Integer);
 begin
   inherited;
Index: syneditkeycmds.pp
===================================================================
--- syneditkeycmds.pp	(revision 37490)
+++ syneditkeycmds.pp	(working copy)
@@ -42,12 +42,7 @@
 interface
 
 uses
-  {$IFDEF SYN_LAZARUS}
-  LCLIntf, LCLType,
-  {$ELSE}
-  Windows,
-  {$ENDIF}
-  Classes, Menus, SysUtils;
+  Classes, Menus, SysUtils, LCLIntf, LCLType;
 
 const
   //****************************************************************************
@@ -312,9 +307,7 @@
     procedure SetShortCut(const Value: TShortCut);
     procedure SetShortCut2(const Value: TShortCut);
   protected
-{$IFDEF SYN_COMPILER_3_UP}
     function GetDisplayName: string; override;
-{$ENDIF}
   public
     procedure Assign(Source: TPersistent); override;
 {begin}                                                                         //ac 2000-07-05
@@ -346,9 +339,7 @@
     function GetItem(Index: Integer): TSynEditKeyStroke;
     procedure SetItem(Index: Integer; Value: TSynEditKeyStroke);
   protected
-{$IFDEF SYN_COMPILER_3_UP}
     function GetOwner: TPersistent; override;
-{$ENDIF}
     function FindKeycode2(Code1: word; SS1: TShiftState;
       Code2: word; SS2: TShiftState): integer;
     function FindKeycode2Start(Code: word; SS: TShiftState): integer;
@@ -486,15 +477,6 @@
 
 { Command mapping routines }
 
-{$IFDEF SYN_COMPILER_2}
-// This is defined in D3/C3 and up.
-type
-  TIdentMapEntry = record
-    Value: TSynEditorCommand;
-    Name: string;
-  end;
-{$ENDIF}
-
 const
   EditorCommandStrs: array[0..149] of TIdentMapEntry = (
     (Value: ecNone; Name: 'ecNone'),
@@ -765,7 +747,6 @@
     inherited Assign(Source);
 end;
 
-{$IFDEF SYN_COMPILER_3_UP}
 function TSynEditKeyStroke.GetDisplayName: string;
 begin
   Result := EditorCommandToCodeString(Command) + ' - ' + ShortCutToText(ShortCut);
@@ -774,7 +755,6 @@
   if Result = '' then
     Result := inherited GetDisplayName;
 end;
-{$ENDIF}
 
 function TSynEditKeyStroke.GetShortCut: TShortCut;
 begin
@@ -964,10 +944,6 @@
 var
   i: integer;
   CurComboStart: TSynEditKeyStrokes;
-{$IFNDEF SYN_COMPILER_3_UP}
-const
-  VK_ACCEPT = $30;
-{$ENDIF}
 begin
   (* if FinishComboOnly=True then ComboStart are the KeyStrokes, which have the
      already received keys.
@@ -1089,12 +1065,10 @@
   Result := TSynEditKeyStroke(inherited GetItem(Index));
 end;
 
-{$IFDEF SYN_COMPILER_3_UP}
 function TSynEditKeyStrokes.GetOwner: TPersistent;
 begin
   Result := FOwner;
 end;
-{$ENDIF}
 
 {begin}                                                                         //ac 2000-07-05
 procedure TSynEditKeyStrokes.LoadFromStream(AStream: TStream);
@@ -1254,8 +1228,8 @@
 
 initialization
   RegisterIntegerConsts(TypeInfo(TSynEditorCommand),
-                        {$IFDEF FPC}@{$ENDIF}IdentToEditorCommand,
-                        {$IFDEF FPC}@{$ENDIF}EditorCommandToIdent);
+                        @IdentToEditorCommand,
+                        @EditorCommandToIdent);
 
 finalization
   ExtraIdentToIntFn := nil;
Index: syneditlines.pas
===================================================================
--- syneditlines.pas	(revision 37490)
+++ syneditlines.pas	(working copy)
@@ -59,14 +59,12 @@
     function GetTextChangeStamp: int64;
   protected
     function Get(Index: integer): string; override;
-    function GetCapacity: integer;
-      {$IFDEF SYN_COMPILER_3_UP} override; {$ENDIF}                             //mh 2000-10-18
+    function GetCapacity: integer; override;
     function GetCount: integer; override;
     function GetObject(Index: integer): TObject; override;
     procedure Put(Index: integer; const S: string); override;
     procedure PutObject(Index: integer; AObject: TObject); override;
-    procedure SetCapacity(NewCapacity: integer);
-                                   {$IFDEF SYN_COMPILER_3_UP} override; {$ENDIF}
+    procedure SetCapacity(NewCapacity: integer); override;
     procedure SetUpdateState(Updating: Boolean); override;
   public
     constructor Create(ATextBuffer: TSynEditStringList; OnSaved: TSavedNotification);
Index: syneditmarks.pp
===================================================================
--- syneditmarks.pp	(revision 37490)
+++ syneditmarks.pp	(working copy)
@@ -615,7 +615,7 @@
   if PrimaryOrder = smsoUnsorted then
     exit;
 
-  FMarks.Sort({$IFDEF FPC}@{$ENDIF}CompareSynEditMarks);
+  FMarks.Sort(@CompareSynEditMarks);
 end;
 
 function TSynEditMarkLine.Add(Item: TSynEditMark): Integer;
Index: syneditmarkupctrlmouselink.pp
===================================================================
--- syneditmarkupctrlmouselink.pp	(revision 37490)
+++ syneditmarkupctrlmouselink.pp	(working copy)
@@ -211,8 +211,8 @@
 destructor TSynEditMarkupCtrlMouseLink.Destroy;
 begin
   if Lines <> nil then begin;
-    Lines.RemoveChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LinesChanged);
-    Lines.RemoveChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LinesChanged);
+    Lines.RemoveChangeHandler(senrLineCount, @LinesChanged);
+    Lines.RemoveChangeHandler(senrLineChange, @LinesChanged);
   end;
   inherited Destroy;
 end;
@@ -221,8 +221,8 @@
 begin
   inherited SetLines(AValue);
   if Lines <> nil then begin;
-    Lines.AddChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LinesChanged);
-    Lines.AddChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LinesChanged);
+    Lines.AddChangeHandler(senrLineCount, @LinesChanged);
+    Lines.AddChangeHandler(senrLineChange, @LinesChanged);
   end;
 end;
 
Index: syneditmarkuphighall.pp
===================================================================
--- syneditmarkuphighall.pp	(revision 37490)
+++ syneditmarkuphighall.pp	(working copy)
@@ -586,10 +586,10 @@
 procedure TSynEditMarkupHighlightAllCaret.SetSelection(const AValue: TSynEditSelection);
 begin
   if Assigned(FSelection) then
-    FSelection.RemoveChangeHandler({$IFDEF FPC}@{$ENDIF}SelectionChanged);
+    FSelection.RemoveChangeHandler(@SelectionChanged);
   FSelection := AValue;
   if Assigned(FSelection) then
-    FSelection.AddChangeHandler({$IFDEF FPC}@{$ENDIF}SelectionChanged);
+    FSelection.AddChangeHandler(@SelectionChanged);
 end;
 
 procedure TSynEditMarkupHighlightAllCaret.SetTrim(const AValue: Boolean);
@@ -738,14 +738,14 @@
   FTimer := TTimer.Create(nil);
   FTimer.Enabled := False;
   FTimer.Interval := FWaitTime;
-  FTimer.OnTimer := {$IFDEF FPC}@{$ENDIF}ScrollTimerHandler;
+  FTimer.OnTimer := @ScrollTimerHandler;
   MarkupInfo.Clear;
 end;
 
 destructor TSynEditMarkupHighlightAllCaret.Destroy;
 begin
   if Assigned(FSelection) then
-    FSelection.RemoveChangeHandler({$IFDEF FPC}@{$ENDIF}SelectionChanged);
+    FSelection.RemoveChangeHandler(@SelectionChanged);
   FreeAndNil(FTimer);
   inherited Destroy;
 end;
Index: syneditmiscclasses.pp
===================================================================
--- syneditmiscclasses.pp	(revision 37490)
+++ syneditmiscclasses.pp	(working copy)
@@ -1091,7 +1091,7 @@
 
 procedure TSynObjectList.Sort;
 begin
-  FList.Sort({$IFDEF FPC}@{$ENDIF}CompareSynObjectListItems);
+  FList.Sort(@CompareSynObjectListItems);
 end;
 
 function TSynObjectList.Add(AnItem: TSynObjectListItem): Integer;
Index: syneditplugins.pas
===================================================================
--- syneditplugins.pas	(revision 37490)
+++ syneditplugins.pas	(working copy)
@@ -87,7 +87,7 @@
       aCommandID: TSynEditorCommand; aShortCut: TShortCut);
     procedure OnCommand(Sender: TObject; AfterProcessing: boolean;
       var Handled: boolean; var Command: TSynEditorCommand;
-      var aChar: {$IFDEF SYN_LAZARUS}TUTF8Char{$ELSE}Char{$ENDIF};
+      var aChar: TUTF8Char;
       Data: pointer; HandlerData: pointer); virtual; abstract;
   end;
 
@@ -133,7 +133,7 @@
     procedure SetCurrentString(const Value: String); virtual;
     procedure OnCommand(Sender: TObject; AfterProcessing: boolean;
       var Handled: boolean; var Command: TSynEditorCommand;
-      var aChar: {$IFDEF SYN_LAZARUS}TUTF8Char{$ELSE}Char{$ENDIF};
+      var aChar: TUTF8Char;
       Data: pointer; HandlerData: pointer); override;
     procedure DoExecute; override;
     procedure DoAccept; override;
@@ -303,7 +303,7 @@
   iKeystroke.Command := aCommandID;
 
   if AFlags <> [] then
-    aEditor.RegisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnCommand, Self, AFlags);
+    aEditor.RegisterCommandHandler( @OnCommand, Self, AFlags);
 end;
 
 procedure TAbstractSynHookerPlugin.UnHookEditor(aEditor: TCustomSynEdit;
@@ -311,7 +311,7 @@
 var
   iIndex: integer;
 begin
-  aEditor.UnregisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnCommand );
+  aEditor.UnregisterCommandHandler( @OnCommand );
   iIndex := TCustomSynEdit(aEditor).Keystrokes.FindShortcut( aShortCut );
   if (iIndex >= 0) and
     (TCustomSynEdit(aEditor).Keystrokes[iIndex].Command = aCommandID) then
@@ -463,7 +463,7 @@
 procedure TAbstractSynCompletion.OnCommand(Sender: TObject;
   AfterProcessing: boolean; var Handled: boolean;
   var Command: TSynEditorCommand;
-  var aChar: {$IFDEF SYN_LAZARUS}TUTF8Char{$ELSE}Char{$ENDIF};
+  var aChar: TUTF8Char;
   Data, HandlerData: pointer);
 var
   iString: String;
@@ -490,15 +490,9 @@
               end
               else
               begin
-                {$IFDEF SYN_LAZARUS}
-                if (length(aChar)<>1)
+                if (length(aChar) <> 1)
                 or (not (aChar[1] in CurrentEditor.IdentChars)) then
                   Accept;
-                {$ELSE}
-                if not (aChar in CurrentEditor.IdentChars) then
-                  Accept;
-                {don't handle the char}
-                {$ENDIF}
               end;
             ecLineBreak:
             begin
Index: syneditpointclasses.pas
===================================================================
--- syneditpointclasses.pas	(revision 37490)
+++ syneditpointclasses.pas	(working copy)
@@ -756,7 +756,7 @@
   FIsSettingText := False;
   if FHookedLines then begin
     FLines.AddEditHandler(@DoLinesEdited);
-    FLines.AddChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineChanged);
+    FLines.AddChangeHandler(senrLineChange, @LineChanged);
   end;
 end;
 
@@ -765,7 +765,7 @@
   FreeAndNil(FInternalCaret);
   if FHookedLines then begin
     FLines.RemoveEditHandler(@DoLinesEdited);
-    FLines.RemoveChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineChanged);
+    FLines.RemoveChangeHandler(senrLineChange, @LineChanged);
   end;
   inherited Destroy;
 end;
@@ -1147,15 +1147,7 @@
           r := FInternalCaret.CharPos;
           // swap l, r if needed
           if l > r then
-          {$IFDEF SYN_COMPILER_3_UP}
             SwapInt(l, r);
-          {$ELSE}
-          begin
-            y := l;
-            l := r;
-            r := y;
-          end;
-          {$ENDIF}
           for y := BB.Y to BE.Y do begin
             FInternalCaret.LineCharPos := Point(l, y);
             xb := FInternalCaret.BytePos;
Index: syneditregexsearch.pas
===================================================================
--- syneditregexsearch.pas	(revision 37490)
+++ syneditregexsearch.pas	(working copy)
@@ -66,15 +66,6 @@
 
 implementation
 
-{$IFNDEF SYN_LAZARUS}
-uses
-{$IFDEF SYN_CLX}
-  QConsts;
-{$ELSE}
-  Consts;
-{$ENDIF}
-{$ENDIF}
-
 { TSynEditRegexSearch }
 
 constructor TSynEditRegexSearch.Create(AOwner: TComponent);
Index: syneditsearch.pp
===================================================================
--- syneditsearch.pp	(revision 37490)
+++ syneditsearch.pp	(working copy)
@@ -42,21 +42,14 @@
 interface
 
 uses
-  Classes
-  {$IFDEF SYN_LAZARUS}
-  , LCLProc, SynRegExpr, SynEditMiscProcs, SynEditTypes
-  {$ENDIF};
+  Classes, LCLProc, SynRegExpr, SynEditMiscProcs, SynEditTypes;
 
 procedure MakeCompTable;
-{$IFNDEF SYN_LAZARUS}
-procedure MakeDelimiterTable;
-{$ENDIF}
 
 type
   TByteArray256 = array[#0..#255] of Byte;
   PByteArray256 = ^TByteArray256;
 
-  {$IFDEF SYN_LAZARUS}
   TSynEditSearchResult = class
   public
     Start: integer;
@@ -64,7 +57,6 @@
     Replace: string;
     constructor Create(NewStart, NewLen: integer; const NewReplace: string);
   end;
-  {$ENDIF}
 
   { TSynEditSearch }
 
@@ -83,7 +75,6 @@
     fWhole: Boolean;
     fResults: TList;
     fShiftInitialized: boolean;
-    {$IFDEF SYN_LAZARUS}
     FIdentChars: TSynIdentChars;
     FoundLen: integer;
     RegExprEngine : TRegExpr;
@@ -95,7 +86,6 @@
     CompTable: PByteArray256;
     function GetResultLen(Index: integer): integer;
     procedure SetRegExpr(const NewValue: boolean);
-    {$ENDIF}
     function GetFinished: Boolean;
     function GetResult(Index: integer): integer;
     function GetResultCount: integer;
@@ -111,10 +101,8 @@
     function FindFirstUTF8(const NewText: string): Integer;
     procedure FixResults(First, Delta: integer);
     function Next: Integer;
-    {$IFDEF SYN_LAZARUS}
     function FindNextOne(Lines: TStrings; StartPos, EndPos: TPoint;
                          out FoundStartPos, FoundEndPos: TPoint; ASupportUnicodeCase: Boolean=False): boolean;
-    {$ENDIF}
     property Count: Integer read fCount write fCount;
     property Finished: Boolean read GetFinished;
     property Pattern: string read Pat write SetPattern;// search for this text
@@ -122,7 +110,6 @@
     property ResultCount: integer read GetResultCount;
     property Sensitive: Boolean read fSensitive write SetSensitive;// case sensitive
     property Whole: Boolean read fWhole write fWhole;// whole words
-    {$IFDEF SYN_LAZARUS}
   public
     procedure ClearResults;
     procedure ResetIdentChars;
@@ -135,32 +122,21 @@
     property Replacement: string read fReplacement write fReplacement;
     property Backwards: boolean read FBackwards write FBackwards;
     property IdentChars: TSynIdentChars read FIdentChars write FIdentChars;
-    {$ENDIF}
   end;
 
-{$IFDEF SYN_LAZARUS}
 function GetLineCountOfString(const aText: string): integer;
 function GetLastLineLength(const aText: string): integer;
 function AdjustPositionAfterReplace(const p, ReplaceStart, ReplaceEnd: TPoint;
   const AReplacement: string): TPoint;
-{$ENDIF SYN_LAZARUS}
 
 implementation
 
 uses
-  {$IFDEF SYN_LAZARUS}
-  LCLIntf, LCLType,
-  {$ELSE}
-  Windows,
-  {$ENDIF}
-  SysUtils;
+  LCLIntf, LCLType, SysUtils;
 
 var
   CompTableSensitive: TByteArray256;
   CompTableNoneSensitive: TByteArray256;
-  {$IFNDEF SYN_LAZARUS}
-  DelimTable: array[#0..#255] of boolean;
-  {$ENDIF}
 
 procedure MakeCompTable;
 var
@@ -170,16 +146,6 @@
   for I := #0 to #255 do CompTableNoneSensitive[I] := ord(uppercase(I)[1]);
 end;
 
-{$IFNDEF SYN_LAZARUS}
-procedure MakeDelimiterTable;
-var
-  c: char;
-begin
-  for c := #0 to #255 do DelimTable[c] := not IsCharAlphaNumeric(c);
-end;
-{$ENDIF}
-
-{$IFDEF SYN_LAZARUS}
 function GetLineCountOfString(const aText: string): integer;
 // returns the number of line separators
 var
@@ -249,7 +215,6 @@
     end;
   end;
 end;
-{$ENDIF}
 
 { TSynEditSearch }
 
@@ -259,10 +224,8 @@
   fSensitive := False;
   CompTable := @CompTableNoneSensitive;
   fResults := TList.Create;
-  {$IFDEF SYN_LAZARUS}
   RegExprEngine:=TRegExpr.Create;
   ResetIdentChars;
-  {$ENDIF}
 end;
 
 function TSynEditSearch.GetFinished: Boolean;
@@ -274,11 +237,7 @@
 begin
   Result := 0;
   if (Index >= 0) and (Index < fResults.Count) then
-    {$IFDEF SYN_LAZARUS}
     Result := TSynEditSearchResult(fResults[Index]).Start;
-    {$ELSE}
-    Result := integer(fResults[Index]);
-    {$ENDIF}
 end;
 
 function TSynEditSearch.GetResultCount: integer;
@@ -293,7 +252,6 @@
   if (Delta <> 0) and (fResults.Count > 0) then begin
     i := Pred(fResults.Count);
     while i >= 0 do begin
-      {$IFDEF SYN_LAZARUS}
       if GetResult(i)>=First then begin
         dec(TSynEditSearchResult(fResults[i]).Start,Delta);
         if GetResult(i)<First then begin
@@ -302,10 +260,6 @@
           fResults.Delete(i);
         end;
       end;
-      {$ELSE}
-      if GetResult(i) <= First then break;
-      fResults[i] := pointer(integer(fResults[i]) - Delta);
-      {$ENDIF}
       Dec(i);
     end;
   end;
@@ -334,13 +288,8 @@
   Test: PChar;
 begin
   Test := Run - PatLen;
-  {$IFDEF SYN_LAZARUS}
   Result := ((Test < Origin) or (not (Test[0] in FIdentChars))) and
     ((Run >= TheEnd) or (not (Run[1] in FIdentChars)));
-  {$ELSE}
-  Result := ((Test < Origin) or DelimTable[Test[0]]) and
-    ((Run >= TheEnd) or DelimTable[Run[1]]);
-  {$ENDIF}
 end;
 
 function TSynEditSearch.Next: Integer;
@@ -349,9 +298,7 @@
   J: PChar;
 begin
   Result := 0;
-  {$IFDEF SYN_LAZARUS}
   if not fRegExpr then begin
-  {$ENDIF}
     inc(Run, PatLen);
     FoundLen:=PatLen;
     while Run < TheEnd do
@@ -385,7 +332,6 @@
 {end}                                                                           //mh 2000-08-29
       end;
     end;
-  {$IFDEF SYN_LAZARUS}
   end else begin
     // regular expressions
     inc(Run);
@@ -398,11 +344,9 @@
       FoundLen:=0;
       Run:=TheEnd;
     end;
-  {$ENDIF}
   end;
 end;
 
-{$IFDEF SYN_LAZARUS}
 // ASupportUnicodeCase -> If we will support Unicode lowercase/uppercase
 //   by default this is off to increase the speed of the routine
 function TSynEditSearch.FindNextOne(Lines: TStrings; StartPos, EndPos: TPoint;
@@ -975,14 +919,11 @@
       inc(y);
   until (y<MinY) or (y>MaxY);
 end;
-{$ENDIF}
 
 destructor TSynEditSearch.Destroy;
 begin
-  {$IFDEF SYN_LAZARUS}
   ClearResults;
   RegExprEngine.Free;
-  {$ENDIF}
   fResults.Free;
   inherited Destroy;
 end;
@@ -992,9 +933,7 @@
   if Pat <> Value then begin
     Pat := Value;
     fShiftInitialized := FALSE;
-    {$IFDEF SYN_LAZARUS}
     PatLen:=length(Pat);
-    {$ENDIF}
   end;
   fCount := 0;
 end;
@@ -1007,38 +946,25 @@
     then CompTable := @CompTableSensitive
     else CompTable := @CompTableNoneSensitive;
     fShiftInitialized := FALSE;
-    {$IFDEF SYN_LAZARUS}
     RegExprEngine.ModifierI:=not fSensitive;
-    {$ENDIF}
   end;
 end;
 
 function TSynEditSearch.FindAll(const NewText: string): integer;
 var
   Found: integer;
-  {$IFDEF SYN_LAZARUS}
   TheReplace: string;
-  {$ENDIF}
 begin
   if not fShiftInitialized then
     InitShiftTable;
-  {$IFDEF SYN_LAZARUS}
   ClearResults;
-  {$ELSE}
-  // never shrink Capacity
-  fResults.Count := 0;
-  {$ENDIF}
   Found := FindFirstUTF8(NewText);
   while Found > 0 do
   begin
-    {$IFDEF SYN_LAZARUS}
     TheReplace:=Replacement;
     if fRegExpr then
       TheReplace:=RegExprEngine.Substitute(Replacement);
     fResults.Add(TSynEditSearchResult.Create(Found,FoundLen,TheReplace));
-    {$ELSE}
-    fResults.Add(pointer(Found));
-    {$ENDIF}
     Found := Next;
   end;
   Result := fResults.Count;
@@ -1049,14 +975,12 @@
   Result := 0;
   fTextLen := Length(NewText);
   if fTextLen=0 then exit;
-  {$IFDEF SYN_LAZARUS}
   if fRegExpr then begin
     RegExprEngine.ModifierI:=not fSensitive;
     RegExprEngine.ModifierM:=fRegExprMultiLine;
     RegExprEngine.Expression:=Pat;
     RegExprEngine.InputString:=NewText;
   end;
-  {$ENDIF}
   if (fTextLen >= PatLen) or fRegExpr then
   begin
     Origin := PChar(NewText);
@@ -1066,7 +990,6 @@
   end;
 end;
 
-{$IFDEF SYN_LAZARUS}
 procedure TSynEditSearch.ClearResults;
 var
   i: Integer;
@@ -1108,7 +1031,6 @@
   fRegExpr:=NewValue;
 end;
 
-
 { TSynEditSearchResult }
 
 constructor TSynEditSearchResult.Create(NewStart, NewLen: integer;
@@ -1119,13 +1041,7 @@
   Replace:=NewReplace;
 end;
 
-{$ENDIF}
-
 initialization
   MakeCompTable;
-  {$IFNDEF SYN_LAZARUS}
-  MakeDelimiterTable;
-  {$ENDIF}
-
 end.
 
Index: synedittextbase.pas
===================================================================
--- synedittextbase.pas	(revision 37490)
+++ synedittextbase.pas	(working copy)
@@ -231,15 +231,7 @@
 
 implementation
 
-{$IFNDEF FPC}
-  {$IFDEF SYN_COMPILER_3_UP}
-resourcestring
-  {$ELSE}
 const
-  {$ENDIF}
-{$ELSE}
-const
-{$ENDIF}
   SListIndexOutOfBounds = 'Invalid stringlist index %d';
 
 procedure ListIndexOutOfBounds(Index: integer);
Index: synedittextbuffer.pp
===================================================================
--- synedittextbuffer.pp	(revision 37490)
+++ synedittextbuffer.pp	(working copy)
@@ -181,15 +181,13 @@
     function GetRange(Index: Pointer): TSynManagedStorageMem; override;
     procedure PutRange(Index: Pointer; const ARange: TSynManagedStorageMem); override;
     function Get(Index: integer): string; override;
-    function GetCapacity: integer;
-      {$IFDEF SYN_COMPILER_3_UP} override; {$ENDIF}                             //mh 2000-10-18
+    function GetCapacity: integer; override;
     function GetCount: integer; override;
     procedure SetCount(const AValue: Integer);
     function GetObject(Index: integer): TObject; override;
     procedure Put(Index: integer; const S: string); override;
     procedure PutObject(Index: integer; AObject: TObject); override;
-    procedure SetCapacity(NewCapacity: integer);
-      {$IFDEF SYN_COMPILER_3_UP} override; {$ENDIF}                             //mh 2000-10-18
+    procedure SetCapacity(NewCapacity: integer); override;
     procedure SetUpdateState(Updating: Boolean; Sender: TObject); override;
 
     procedure UndoEditLinesDelete(LogY, ACount: Integer);
@@ -254,15 +252,7 @@
 
 implementation
 
-{$IFNDEF FPC}
-  {$IFDEF SYN_COMPILER_3_UP}
-resourcestring
-  {$ELSE}
 const
-  {$ENDIF}
-{$ELSE}
-const
-{$ENDIF}
   SListIndexOutOfBounds = 'Invalid stringlist index %d';
 
 type
@@ -550,9 +540,9 @@
 
   FAttachedSynEditList := TFPList.Create;
   FUndoList := TSynEditUndoList.Create;
-  fUndoList.OnAddedUndo := {$IFDEF FPC}@{$ENDIF}UndoRedoAdded;
+  fUndoList.OnAddedUndo := @UndoRedoAdded;
   FRedoList := TSynEditUndoList.Create;
-  fRedoList.OnAddedUndo := {$IFDEF FPC}@{$ENDIF}UndoRedoAdded;
+  fRedoList.OnAddedUndo := @UndoRedoAdded;
   FIsUndoing := False;
   FIsRedoing := False;
   FModified := False;
Index: synedittexttabexpander.pas
===================================================================
--- synedittexttabexpander.pas	(revision 37490)
+++ synedittexttabexpander.pas	(working copy)
@@ -138,9 +138,9 @@
   inherited Create(ASynStringSource);
   TextBufferChanged(nil);
   TabWidth := 8;
-  fSynStrings.AddChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
-  fSynStrings.AddChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
-  fSynStrings.AddNotifyHandler(senrTextBufferChanged, {$IFDEF FPC}@{$ENDIF}TextBufferChanged);
+  fSynStrings.AddChangeHandler(senrLineCount, @LineCountChanged);
+  fSynStrings.AddChangeHandler(senrLineChange, @LineCountChanged);
+  fSynStrings.AddNotifyHandler(senrTextBufferChanged, @TextBufferChanged);
 end;
 
 destructor TSynEditStringTabExpander.Destroy;
@@ -155,9 +155,9 @@
       Data.Free;
     end;
   end;
-  fSynStrings.RemoveChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
-  fSynStrings.RemoveChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
-  fSynStrings.RemoveNotifyHandler(senrTextBufferChanged, {$IFDEF FPC}@{$ENDIF}TextBufferChanged);
+  fSynStrings.RemoveChangeHandler(senrLineChange, @LineCountChanged);
+  fSynStrings.RemoveChangeHandler(senrLineCount, @LineCountChanged);
+  fSynStrings.RemoveNotifyHandler(senrTextBufferChanged, @TextBufferChanged);
   inherited Destroy;
 end;
 
Index: synedittexttrimmer.pas
===================================================================
--- synedittexttrimmer.pas	(revision 37490)
+++ synedittexttrimmer.pas	(working copy)
@@ -417,16 +417,16 @@
   FLineEdited := False;
   FTrimType := settLeaveLine;
   Inherited Create(ASynStringSource);
-  fSynStrings.AddChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
-  fSynStrings.AddChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LinesChanged);
-  fSynStrings.AddNotifyHandler(senrCleared, {$IFDEF FPC}@{$ENDIF}ListCleared);
+  fSynStrings.AddChangeHandler(senrLineCount, @LineCountChanged);
+  fSynStrings.AddChangeHandler(senrLineChange, @LinesChanged);
+  fSynStrings.AddNotifyHandler(senrCleared, @ListCleared);
 end;
 
 destructor TSynEditStringTrimmingList.Destroy;
 begin
-  fSynStrings.RemoveChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineCountChanged);
-  fSynStrings.RemoveChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LinesChanged);
-  fSynStrings.RemoveNotifyHandler(senrCleared, {$IFDEF FPC}@{$ENDIF}ListCleared);
+  fSynStrings.RemoveChangeHandler(senrLineCount, @LineCountChanged);
+  fSynStrings.RemoveChangeHandler(senrLineChange, @LinesChanged);
+  fSynStrings.RemoveNotifyHandler(senrCleared, @ListCleared);
   fCaret.RemoveChangeHandler(@DoCaretChanged);
   FreeAndNil(FDisplayView);
   FreeAndNil(fLockList);
Index: synedittypes.pp
===================================================================
--- synedittypes.pp	(revision 37490)
+++ synedittypes.pp	(working copy)
@@ -71,9 +71,9 @@
   PSynSelectionMode = ^TSynSelectionMode;
   // to be binary (clipboard) compatible with other (Delphi compiled) synedits
   // use {$PACKENUM 1}
-{$IFDEF SYN_LAZARUS}{$PACKENUM 1}{$ENDIF SYN_LAZARUS}
+{$PACKENUM 1}
   TSynSelectionMode = (smNormal, smLine, smColumn, smCurrent);
-{$IFDEF SYN_LAZARUS}{$PACKENUM 4}{$ENDIF SYN_LAZARUS}
+{$PACKENUM 4}
 
   TSynSearchOption =
     ( ssoMatchCase, ssoWholeWord,
@@ -88,9 +88,7 @@
     );
   TSynSearchOptions = set of TSynSearchOption;
 
-  {$IFDEF SYN_LAZARUS}
   TSynEditRange = pointer;
-  {$ENDIF}
 
   TSynStatusChange = (scCaretX, scCaretY,
     scLeftChar, scTopLine, scLinesInWindow,
Index: synexporthtml.pas
===================================================================
--- synexporthtml.pas	(revision 37490)
+++ synexporthtml.pas	(working copy)
@@ -45,17 +45,7 @@
 
 uses
   Classes,
-{$IFDEF SYN_CLX}
-  Qt,
-  QGraphics,
-{$ELSE}
-  {$IFDEF SYN_LAZARUS}
   LCLIntf, LCLType, Graphics, ClipBrd,
-  {$ELSE}
-  Windows,
-  Graphics,
-  {$ENDIF}
-{$ENDIF}
   SynEditExport;
 
 type
@@ -108,9 +98,7 @@
 begin
   inherited Create(AOwner);
   {**************}
-  {$IFNDEF SYN_CLX}
   fClipboardFormat := RegisterClipboardFormat(CF_HTML);
-  {$ENDIF}
   fFontSize := fs03;
   fDefaultFilter := SYNS_FilterHTML;
   // setup array of chars to be replaced
@@ -225,25 +213,19 @@
   RGBColor := ColorToRGB(AColor);
   Result := '"#000000"';
  {****************}
-{$IFNDEF SYN_CLX}
   RGBValue := GetRValue(RGBColor);
-{$ENDIF}
   if RGBValue > 0 then begin
     Result[3] := Digits[RGBValue shr  4];
     Result[4] := Digits[RGBValue and 15];
   end;
  {****************}
-{$IFNDEF SYN_CLX}
   RGBValue := GetGValue(RGBColor);
-{$ENDIF}
   if RGBValue > 0 then begin
     Result[5] := Digits[RGBValue shr  4];
     Result[6] := Digits[RGBValue and 15];
   end;
  {****************}
-{$IFNDEF SYN_CLX}
   RGBValue := GetBValue(RGBColor);
-{$ENDIF}
   if RGBValue > 0 then begin
     Result[7] := Digits[RGBValue shr  4];
     Result[8] := Digits[RGBValue and 15];
Index: syngutter.pp
===================================================================
--- syngutter.pp	(revision 37490)
+++ syngutter.pp	(working copy)
@@ -253,9 +253,7 @@
 begin
   Canvas.Brush.Color := Color;
   dc := Canvas.Handle;
-  {$IFDEF SYN_LAZARUS}
   LCLIntf.SetBkColor(dc, TColorRef(Canvas.Brush.Color));
-  {$ENDIF}
 
   // Clear all
   TextDrawer.BeginDrawing(dc);
Index: syngutterbase.pp
===================================================================
--- syngutterbase.pp	(revision 37490)
+++ syngutterbase.pp	(working copy)
@@ -513,7 +513,7 @@
   if FGutterPartList <> nil then
     FreeAndNil(FGutterPartList);
   FGutterPartList := APartList;
-  FGutterPartList.OnChange := {$IFDEF FPC}@{$ENDIF}DoChange;
+  FGutterPartList.OnChange := @DoChange;
 end;
 
 procedure TSynGutterBase.Clear;
@@ -625,7 +625,7 @@
   FMarkupInfo.Background := clBtnFace;
   FMarkupInfo.Foreground := clNone;
   FMarkupInfo.FrameColor := clNone;
-  FMarkupInfo.OnChange := {$IFDEF FPC}@{$ENDIF}DoChange;
+  FMarkupInfo.OnChange := @DoChange;
 
   FMouseActions := CreateMouseActions;
 
@@ -739,8 +739,8 @@
 
 procedure TSynGutterPartListBase.RegisterItem(AnItem: TSynObjectListItem);
 begin
-  TSynGutterPartBase(AnItem).OnChange := {$IFDEF FPC}@{$ENDIF}DoChange;
-  TSynGutterPartBase(AnItem).OnGutterClick := {$IFDEF FPC}@{$ENDIF}Gutter.DoDefaultGutterClick;
+  TSynGutterPartBase(AnItem).OnChange := @DoChange;
+  TSynGutterPartBase(AnItem).OnGutterClick := @Gutter.DoDefaultGutterClick;
   inherited RegisterItem(AnItem);
 end;
 
Index: synguttercodefolding.pp
===================================================================
--- synguttercodefolding.pp	(revision 37490)
+++ synguttercodefolding.pp	(working copy)
@@ -248,7 +248,7 @@
   function AddPopUpItem(const ACaption: String): TMenuItem;
   begin
     Result := TMenuItem.Create(APopUp);
-    Result.OnClick := {$IFDEF FPC}@{$ENDIF}PopClicked;
+    Result.OnClick := @PopClicked;
     Result.Caption := ACaption;
     Result.GlyphShowMode := gsmAlways;
     if FReversePopMenuOrder then
Index: syngutterlinenumber.pp
===================================================================
--- syngutterlinenumber.pp	(revision 37490)
+++ syngutterlinenumber.pp	(working copy)
@@ -75,16 +75,16 @@
 begin
   inherited Init;
   FTextDrawer := Gutter.TextDrawer;
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod({$IFDEF FPC}@{$ENDIF}LineCountChanged));
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
-  FTextDrawer.RegisterOnFontChangeHandler({$IFDEF FPC}@{$ENDIF}FontChanged);
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod(@LineCountChanged));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
+  FTextDrawer.RegisterOnFontChangeHandler(@FontChanged);
   LineCountchanged(nil, 0, 0);
 end;
 
 destructor TSynGutterLineNumber.Destroy;
 begin
   TSynEditStringList(TextBuffer).RemoveHanlders(self);
-  FTextDrawer.UnRegisterOnFontChangeHandler({$IFDEF FPC}@{$ENDIF}FontChanged);
+  FTextDrawer.UnRegisterOnFontChangeHandler(@FontChanged);
   inherited Destroy;
 end;
 
@@ -195,8 +195,8 @@
 procedure TSynGutterLineNumber.BufferChanged(Sender: TObject);
 begin
   TSynEditStringList(Sender).RemoveHanlders(self);
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod({$IFDEF FPC}@{$ENDIF}LineCountChanged));
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod(@LineCountChanged));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
   LineCountChanged(nil, 0, 0);
 end;
 
Index: syngutterlineoverview.pp
===================================================================
--- syngutterlineoverview.pp	(revision 37490)
+++ syngutterlineoverview.pp	(working copy)
@@ -412,7 +412,7 @@
 begin
   FNeedSort := FLockCount > 0;
   if FLockCount = 0 then
-    Sort({$IFDEF FPC}@{$ENDIF}SynGutterLOvProviderLineMarksSort);
+    Sort(@SynGutterLOvProviderLineMarksSort);
 end;
 
 function SynGutterLOvProviderLineMarksSortByLine(Item1, Item2: Pointer): Integer;
@@ -424,7 +424,7 @@
 begin
   if FLockCount > 0 then
     FNeedSort := True;
-  Sort({$IFDEF FPC}@{$ENDIF}SynGutterLOvProviderLineMarksSortByLine);
+  Sort(@SynGutterLOvProviderLineMarksSortByLine);
 end;
 
 function TSynGutterLOvLineMarks.Compare(Other: TSynGutterLOvLineMarks): Integer;
@@ -489,7 +489,7 @@
 
 procedure TSynGutterLOvLineMarksList.ReSort;
 begin
-  Sort({$IFDEF FPC}@{$ENDIF}SynGutterLOvProviderLineMarksListSort);
+  Sort(@SynGutterLOvProviderLineMarksListSort);
 end;
 
 procedure TSynGutterLOvLineMarksList.MarkChanged(Sender: TObject);
@@ -664,8 +664,8 @@
   i, PixLine: Integer;
   LMarks: TSynGutterLOvLineMarks;
 begin
-  AMark.OnChange := {$IFDEF FPC}@{$ENDIF}MarkChanged;
-  AMark.OnDestroy := {$IFDEF FPC}@{$ENDIF}MarkDestroying;
+  AMark.OnChange := @MarkChanged;
+  AMark.OnDestroy := @MarkDestroying;
   PixLine := TextLineToPixLine(AMark.Line);
 
   i := IndexForLine(PixLine, True);
@@ -928,13 +928,13 @@
   inherited;
   FColor := 0;
   Color := $C0C0C0;
-  TCustomSynEdit(SynEdit).RegisterStatusChangedHandler({$IFDEF FPC}@{$ENDIF}SynStatusChanged,
+  TCustomSynEdit(SynEdit).RegisterStatusChangedHandler(@SynStatusChanged,
                                                  [scTopLine, scLinesInWindow]);
 end;
 
 destructor TSynGutterLOvProviderCurrentPage.Destroy;
 begin
-  TCustomSynEdit(SynEdit).UnRegisterStatusChangedHandler({$IFDEF FPC}@{$ENDIF}SynStatusChanged);
+  TCustomSynEdit(SynEdit).UnRegisterStatusChangedHandler(@SynStatusChanged);
   inherited;
 end;
 
@@ -1026,9 +1026,9 @@
 procedure TSynGutterLOvProviderModifiedLines.BufferChanged(Sender: TObject);
 begin
   TSynEditStringList(Sender).RemoveHanlders(self);
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineChange, TMethod({$IFDEF FPC}@{$ENDIF}LineChanged));
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod({$IFDEF FPC}@{$ENDIF}LineCountChanged));
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineChange, TMethod(@LineChanged));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod(@LineCountChanged));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
 end;
 
 procedure TSynGutterLOvProviderModifiedLines.LineChanged(Sender: TSynEditStrings;
@@ -1063,10 +1063,10 @@
 constructor TSynGutterLOvProviderModifiedLines.Create(AOwner: TComponent);
 begin
   inherited Create(AOwner);
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineChange, TMethod({$IFDEF FPC}@{$ENDIF}LineChanged));
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod({$IFDEF FPC}@{$ENDIF}LineCountChanged));
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
-  TCustomSynEdit(SynEdit).RegisterStatusChangedHandler({$IFDEF FPC}@{$ENDIF}SynStatusChanged, [scModified]);
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineChange, TMethod(@LineChanged));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod(@LineCountChanged));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
+  TCustomSynEdit(SynEdit).RegisterStatusChangedHandler(@SynStatusChanged, [scModified]);
   FFirstTextLineChanged := -1;
   FLastTextLineChanged := -1;
   Color := clYellow;
@@ -1076,7 +1076,7 @@
 destructor TSynGutterLOvProviderModifiedLines.Destroy;
 begin
   TSynEditStringList(TextBuffer).RemoveHanlders(self);
-  TCustomSynEdit(SynEdit).UnRegisterStatusChangedHandler({$IFDEF FPC}@{$ENDIF}SynStatusChanged);
+  TCustomSynEdit(SynEdit).UnRegisterStatusChangedHandler(@SynStatusChanged);
   inherited Destroy;
 end;
 
@@ -1155,7 +1155,7 @@
 
 procedure TSynGutterLOvProviderBookmarks.BufferChanging(Sender: TObject);
 begin
-  TCustomSynEdit(SynEdit).Marks.UnRegisterChangeHandler({$IFDEF FPC}@{$ENDIF}DoMarkChange);
+  TCustomSynEdit(SynEdit).Marks.UnRegisterChangeHandler(@DoMarkChange);
 end;
 
 procedure TSynGutterLOvProviderBookmarks.BufferChanged(Sender: TObject);
@@ -1163,9 +1163,9 @@
   i: Integer;
 begin
   TSynEditStringList(Sender).RemoveHanlders(self);
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanging, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanging));
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
-  TCustomSynEdit(SynEdit).Marks.RegisterChangeHandler({$IFDEF FPC}@{$ENDIF}DoMarkChange,
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanging, TMethod(@BufferChanging));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
+  TCustomSynEdit(SynEdit).Marks.RegisterChangeHandler(@DoMarkChange,
     [smcrAdded, smcrRemoved, smcrLine, smcrVisible, smcrChanged]);
 
   while FMarkList.Count > 0 do begin
@@ -1184,10 +1184,10 @@
 begin
   inherited Create(AOwner);
   Color := clBlue;
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanging, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanging));
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanging, TMethod(@BufferChanging));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
 
-  TCustomSynEdit(SynEdit).Marks.RegisterChangeHandler({$IFDEF FPC}@{$ENDIF}DoMarkChange,
+  TCustomSynEdit(SynEdit).Marks.RegisterChangeHandler(@DoMarkChange,
     [smcrAdded, smcrRemoved, smcrLine, smcrVisible, smcrChanged]);
 
   for i := 0 to TCustomSynEdit(SynEdit).Marks.Count - 1 do
@@ -1198,7 +1198,7 @@
 destructor TSynGutterLOvProviderBookmarks.Destroy;
 begin
   TSynEditStringList(TextBuffer).RemoveHanlders(self);
-  TCustomSynEdit(SynEdit).Marks.UnRegisterChangeHandler({$IFDEF FPC}@{$ENDIF}DoMarkChange);
+  TCustomSynEdit(SynEdit).Marks.UnRegisterChangeHandler(@DoMarkChange);
   inherited Destroy;
 end;
 
@@ -1217,12 +1217,12 @@
 procedure TSynGutterLineOverview.Init;
 begin
   inherited Init;
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod({$IFDEF FPC}@{$ENDIF}LineCountChanged));
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod(@LineCountChanged));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
   FWinControl := TSynChildWinControl.Create(Self);
   FWinControl.Parent := SynEdit;
   FWinControl.DoubleBuffered := SynEdit.DoubleBuffered;
-  FWinControl.OnPaint := {$IFDEF FPC}@{$ENDIF}PaintWinControl;
+  FWinControl.OnPaint := @PaintWinControl;
 
   FLineMarks := TSynGutterLOvLineMarksList.Create;
   FProviders := TSynGutterLineOverviewProviderList.Create(Self);
@@ -1252,8 +1252,8 @@
 procedure TSynGutterLineOverview.BufferChanged(Sender: TObject);
 begin
   TSynEditStringList(Sender).RemoveHanlders(self);
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod({$IFDEF FPC}@{$ENDIF}LineCountChanged));
-  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}BufferChanged));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrLineCount, TMethod(@LineCountChanged));
+  TSynEditStringList(TextBuffer).AddGenericHandler(senrTextBufferChanged, TMethod(@BufferChanged));
   LineCountChanged(nil, 0, 0);
 end;
 
Index: synhighlighterbat.pas
===================================================================
--- synhighlighterbat.pas	(revision 37490)
+++ synhighlighterbat.pas	(working copy)
@@ -50,11 +50,7 @@
 
 uses
   Classes,
-  {$IFDEF SYN_CLX}
-  QControls, QGraphics,
-  {$ELSE}
   Graphics,
-  {$ENDIF}
   SynEditTypes, SynEditHighlighter;
 
 type
@@ -136,7 +132,7 @@
       override;
     function GetEol: Boolean; override;
     function GetTokenID: TtkTokenKind;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer); override;
+    procedure SetLine(const NewValue: String; LineNumber: Integer); override;
     function GetToken: String; override;
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
     function GetTokenAttribute: TSynHighlighterAttributes; override;
@@ -414,7 +410,7 @@
   fDefaultFilter := SYNS_FilterBatch;
 end;
 
-procedure TSynBatSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer);
+procedure TSynBatSyn.SetLine(const NewValue: String; LineNumber: Integer);
 begin
   inherited;
   fLine := PChar(NewValue);
@@ -517,10 +513,8 @@
   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;
   //inc(Run);
   //fTokenID := tkUnknown;
Index: synhighlightercss.pas
===================================================================
--- synhighlightercss.pas	(revision 37490)
+++ synhighlightercss.pas	(working copy)
@@ -42,9 +42,7 @@
 The SynHighlighterCss unit provides SynEdit with a Cascading Style Sheets syntax highlighter.
 Thanks to Martin Waldenburg.
 }
-{$IFNDEF QSYNHIGHLIGHTERCSS}
 unit SynHighlighterCss;
-{$ENDIF}
 
 {$I SynEdit.inc}
 
@@ -53,22 +51,10 @@
 uses
 
   SysUtils, Classes,
-  {$IFDEF SYN_CLX}
-  Qt, QControls, QGraphics,
-  QSynEditTypes,
-  QSynEditHighlighter,
-  {$ELSE}
-    {$IFDEF SYN_LAZARUS}
-     LCLIntf, LCLType,
-    {$ELSE}
-     Windows, Messages, Registry,
-    {$ENDIF}
+  LCLIntf, LCLType,
   Controls, Graphics,
   SynEditTypes, SynEditHighlighter;
-  {$ENDIF}
 
-  
-
 type
   TtkTokenKind = (tkComment, tkIdentifier, tkKey, tkNull, tkNumber, tkSpace,
     tkString, tkSymbol, tkUnknown);
@@ -248,11 +234,9 @@
     function GetEol: Boolean; override;
     function GetRange: Pointer; override;
     function GetTokenID: TtkTokenKind;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer); override;
+    procedure SetLine(const NewValue: String; LineNumber: Integer); override;
     function GetToken: string; override;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
-    {$ENDIF}
     function GetTokenAttribute: TSynHighlighterAttributes; override;
     function GetTokenKind: integer; override;
     function GetTokenPos: Integer; override;
@@ -281,11 +265,7 @@
 implementation
 
 uses
-{$IFDEF SYN_CLX}
-  QSynEditStrConst;
-{$ELSE}
   SynEditStrConst;
-{$ENDIF}
 
 var
   Identifiers: array[#0..#255] of ByteBool;
@@ -316,125 +296,125 @@
 begin
   pF := PIdentFuncTableFunc(@FIdentFuncTable);
   for I := Low(FIdentFuncTable) to High(FIdentFuncTable) do begin
-    pF^ :=  {$IFDEF FPC}@{$ENDIF}AltFunc;
+    pF^ :=  @AltFunc;
     Inc(pF);
   end;
-  FIdentFuncTable[16] := {$IFDEF FPC}@{$ENDIF}Func16;
-  FIdentFuncTable[18] := {$IFDEF FPC}@{$ENDIF}Func18;
-  FIdentFuncTable[19] := {$IFDEF FPC}@{$ENDIF}Func19;
-  FIdentFuncTable[23] := {$IFDEF FPC}@{$ENDIF}Func23;
-  FIdentFuncTable[24] := {$IFDEF FPC}@{$ENDIF}Func24;
-  FIdentFuncTable[26] := {$IFDEF FPC}@{$ENDIF}Func26;
-  FIdentFuncTable[29] := {$IFDEF FPC}@{$ENDIF}Func29;
-  FIdentFuncTable[30] := {$IFDEF FPC}@{$ENDIF}Func30;
-  FIdentFuncTable[32] := {$IFDEF FPC}@{$ENDIF}Func32;
-  FIdentFuncTable[34] := {$IFDEF FPC}@{$ENDIF}Func34;
-  FIdentFuncTable[36] := {$IFDEF FPC}@{$ENDIF}Func36;
-  FIdentFuncTable[39] := {$IFDEF FPC}@{$ENDIF}Func39;
-  FIdentFuncTable[40] := {$IFDEF FPC}@{$ENDIF}Func40;
-  FIdentFuncTable[43] := {$IFDEF FPC}@{$ENDIF}Func43;
-  FIdentFuncTable[45] := {$IFDEF FPC}@{$ENDIF}Func45;
-  FIdentFuncTable[51] := {$IFDEF FPC}@{$ENDIF}Func51;
-  FIdentFuncTable[52] := {$IFDEF FPC}@{$ENDIF}Func52;
-  FIdentFuncTable[54] := {$IFDEF FPC}@{$ENDIF}Func54;
-  FIdentFuncTable[55] := {$IFDEF FPC}@{$ENDIF}Func55;
-  FIdentFuncTable[56] := {$IFDEF FPC}@{$ENDIF}Func56;
-  FIdentFuncTable[57] := {$IFDEF FPC}@{$ENDIF}Func57;
-  FIdentFuncTable[58] := {$IFDEF FPC}@{$ENDIF}Func58;
-  FIdentFuncTable[59] := {$IFDEF FPC}@{$ENDIF}Func59;
-  FIdentFuncTable[60] := {$IFDEF FPC}@{$ENDIF}Func60;
-  FIdentFuncTable[61] := {$IFDEF FPC}@{$ENDIF}Func61;
-  FIdentFuncTable[62] := {$IFDEF FPC}@{$ENDIF}Func62;
-  FIdentFuncTable[63] := {$IFDEF FPC}@{$ENDIF}Func63;
-  FIdentFuncTable[64] := {$IFDEF FPC}@{$ENDIF}Func64;
-  FIdentFuncTable[65] := {$IFDEF FPC}@{$ENDIF}Func65;
-  FIdentFuncTable[67] := {$IFDEF FPC}@{$ENDIF}Func67;
-  FIdentFuncTable[69] := {$IFDEF FPC}@{$ENDIF}Func69;
-  FIdentFuncTable[70] := {$IFDEF FPC}@{$ENDIF}Func70;
-  FIdentFuncTable[72] := {$IFDEF FPC}@{$ENDIF}Func72;
-  FIdentFuncTable[74] := {$IFDEF FPC}@{$ENDIF}Func74;
-  FIdentFuncTable[76] := {$IFDEF FPC}@{$ENDIF}Func76;
-  FIdentFuncTable[78] := {$IFDEF FPC}@{$ENDIF}Func78;
-  FIdentFuncTable[79] := {$IFDEF FPC}@{$ENDIF}Func79;
-  FIdentFuncTable[80] := {$IFDEF FPC}@{$ENDIF}Func80;
-  FIdentFuncTable[81] := {$IFDEF FPC}@{$ENDIF}Func81;
-  FIdentFuncTable[82] := {$IFDEF FPC}@{$ENDIF}Func82;
-  FIdentFuncTable[83] := {$IFDEF FPC}@{$ENDIF}Func83;
-  FIdentFuncTable[85] := {$IFDEF FPC}@{$ENDIF}Func85;
-  FIdentFuncTable[86] := {$IFDEF FPC}@{$ENDIF}Func86;
-  FIdentFuncTable[87] := {$IFDEF FPC}@{$ENDIF}Func87;
-  FIdentFuncTable[88] := {$IFDEF FPC}@{$ENDIF}Func88;
-  FIdentFuncTable[90] := {$IFDEF FPC}@{$ENDIF}Func90;
-  FIdentFuncTable[91] := {$IFDEF FPC}@{$ENDIF}Func91;
-  FIdentFuncTable[93] := {$IFDEF FPC}@{$ENDIF}Func93;
-  FIdentFuncTable[94] := {$IFDEF FPC}@{$ENDIF}Func94;
-  FIdentFuncTable[95] := {$IFDEF FPC}@{$ENDIF}Func95;
-  FIdentFuncTable[96] := {$IFDEF FPC}@{$ENDIF}Func96;
-  FIdentFuncTable[97] := {$IFDEF FPC}@{$ENDIF}Func97;
-  FIdentFuncTable[98] := {$IFDEF FPC}@{$ENDIF}Func98;
-  FIdentFuncTable[99] := {$IFDEF FPC}@{$ENDIF}Func99;
-  FIdentFuncTable[100] := {$IFDEF FPC}@{$ENDIF}Func100;
-  FIdentFuncTable[101] := {$IFDEF FPC}@{$ENDIF}Func101;
-  FIdentFuncTable[102] := {$IFDEF FPC}@{$ENDIF}Func102;
-  FIdentFuncTable[103] := {$IFDEF FPC}@{$ENDIF}Func103;
-  FIdentFuncTable[105] := {$IFDEF FPC}@{$ENDIF}Func105;
-  FIdentFuncTable[106] := {$IFDEF FPC}@{$ENDIF}Func106;
-  FIdentFuncTable[107] := {$IFDEF FPC}@{$ENDIF}Func107;
-  FIdentFuncTable[108] := {$IFDEF FPC}@{$ENDIF}Func108;
-  FIdentFuncTable[110] := {$IFDEF FPC}@{$ENDIF}Func110;
-  FIdentFuncTable[111] := {$IFDEF FPC}@{$ENDIF}Func111;
-  FIdentFuncTable[112] := {$IFDEF FPC}@{$ENDIF}Func112;
-  FIdentFuncTable[113] := {$IFDEF FPC}@{$ENDIF}Func113;
-  FIdentFuncTable[114] := {$IFDEF FPC}@{$ENDIF}Func114;
-  FIdentFuncTable[115] := {$IFDEF FPC}@{$ENDIF}Func115;
-  FIdentFuncTable[116] := {$IFDEF FPC}@{$ENDIF}Func116;
-  FIdentFuncTable[117] := {$IFDEF FPC}@{$ENDIF}Func117;
-  FIdentFuncTable[118] := {$IFDEF FPC}@{$ENDIF}Func118;
-  FIdentFuncTable[120] := {$IFDEF FPC}@{$ENDIF}Func120;
-  FIdentFuncTable[121] := {$IFDEF FPC}@{$ENDIF}Func121;
-  FIdentFuncTable[122] := {$IFDEF FPC}@{$ENDIF}Func122;
-  FIdentFuncTable[124] := {$IFDEF FPC}@{$ENDIF}Func124;
-  FIdentFuncTable[126] := {$IFDEF FPC}@{$ENDIF}Func126;
-  FIdentFuncTable[128] := {$IFDEF FPC}@{$ENDIF}Func128;
-  FIdentFuncTable[129] := {$IFDEF FPC}@{$ENDIF}Func129;
-  FIdentFuncTable[130] := {$IFDEF FPC}@{$ENDIF}Func130;
-  FIdentFuncTable[131] := {$IFDEF FPC}@{$ENDIF}Func131;
-  FIdentFuncTable[134] := {$IFDEF FPC}@{$ENDIF}Func134;
-  FIdentFuncTable[136] := {$IFDEF FPC}@{$ENDIF}Func136;
-  FIdentFuncTable[137] := {$IFDEF FPC}@{$ENDIF}Func137;
-  FIdentFuncTable[138] := {$IFDEF FPC}@{$ENDIF}Func138;
-  FIdentFuncTable[139] := {$IFDEF FPC}@{$ENDIF}Func139;
-  FIdentFuncTable[140] := {$IFDEF FPC}@{$ENDIF}Func140;
-  FIdentFuncTable[141] := {$IFDEF FPC}@{$ENDIF}Func141;
-  FIdentFuncTable[144] := {$IFDEF FPC}@{$ENDIF}Func144;
-  FIdentFuncTable[148] := {$IFDEF FPC}@{$ENDIF}Func148;
-  FIdentFuncTable[149] := {$IFDEF FPC}@{$ENDIF}Func149;
-  FIdentFuncTable[150] := {$IFDEF FPC}@{$ENDIF}Func150;
-  FIdentFuncTable[151] := {$IFDEF FPC}@{$ENDIF}Func151;
-  FIdentFuncTable[152] := {$IFDEF FPC}@{$ENDIF}Func152;
-  FIdentFuncTable[154] := {$IFDEF FPC}@{$ENDIF}Func154;
-  FIdentFuncTable[156] := {$IFDEF FPC}@{$ENDIF}Func156;
-  FIdentFuncTable[158] := {$IFDEF FPC}@{$ENDIF}Func158;
-  FIdentFuncTable[160] := {$IFDEF FPC}@{$ENDIF}Func160;
-  FIdentFuncTable[164] := {$IFDEF FPC}@{$ENDIF}Func164;
-  FIdentFuncTable[166] := {$IFDEF FPC}@{$ENDIF}Func166;
-  FIdentFuncTable[167] := {$IFDEF FPC}@{$ENDIF}Func167;
-  FIdentFuncTable[169] := {$IFDEF FPC}@{$ENDIF}Func169;
-  FIdentFuncTable[172] := {$IFDEF FPC}@{$ENDIF}Func172;
-  FIdentFuncTable[173] := {$IFDEF FPC}@{$ENDIF}Func173;
-  FIdentFuncTable[174] := {$IFDEF FPC}@{$ENDIF}Func174;
-  FIdentFuncTable[178] := {$IFDEF FPC}@{$ENDIF}Func178;
-  FIdentFuncTable[182] := {$IFDEF FPC}@{$ENDIF}Func182;
-  FIdentFuncTable[187] := {$IFDEF FPC}@{$ENDIF}Func187;
-  FIdentFuncTable[190] := {$IFDEF FPC}@{$ENDIF}Func190;
-  FIdentFuncTable[194] := {$IFDEF FPC}@{$ENDIF}Func194;
-  FIdentFuncTable[195] := {$IFDEF FPC}@{$ENDIF}Func195;
-  FIdentFuncTable[199] := {$IFDEF FPC}@{$ENDIF}Func199;
-  FIdentFuncTable[200] := {$IFDEF FPC}@{$ENDIF}Func200;
-  FIdentFuncTable[210] := {$IFDEF FPC}@{$ENDIF}Func210;
-  FIdentFuncTable[213] := {$IFDEF FPC}@{$ENDIF}Func213;
-  FIdentFuncTable[220] := {$IFDEF FPC}@{$ENDIF}Func220;
-  FIdentFuncTable[250] := {$IFDEF FPC}@{$ENDIF}Func250;
+  FIdentFuncTable[16] := @Func16;
+  FIdentFuncTable[18] := @Func18;
+  FIdentFuncTable[19] := @Func19;
+  FIdentFuncTable[23] := @Func23;
+  FIdentFuncTable[24] := @Func24;
+  FIdentFuncTable[26] := @Func26;
+  FIdentFuncTable[29] := @Func29;
+  FIdentFuncTable[30] := @Func30;
+  FIdentFuncTable[32] := @Func32;
+  FIdentFuncTable[34] := @Func34;
+  FIdentFuncTable[36] := @Func36;
+  FIdentFuncTable[39] := @Func39;
+  FIdentFuncTable[40] := @Func40;
+  FIdentFuncTable[43] := @Func43;
+  FIdentFuncTable[45] := @Func45;
+  FIdentFuncTable[51] := @Func51;
+  FIdentFuncTable[52] := @Func52;
+  FIdentFuncTable[54] := @Func54;
+  FIdentFuncTable[55] := @Func55;
+  FIdentFuncTable[56] := @Func56;
+  FIdentFuncTable[57] := @Func57;
+  FIdentFuncTable[58] := @Func58;
+  FIdentFuncTable[59] := @Func59;
+  FIdentFuncTable[60] := @Func60;
+  FIdentFuncTable[61] := @Func61;
+  FIdentFuncTable[62] := @Func62;
+  FIdentFuncTable[63] := @Func63;
+  FIdentFuncTable[64] := @Func64;
+  FIdentFuncTable[65] := @Func65;
+  FIdentFuncTable[67] := @Func67;
+  FIdentFuncTable[69] := @Func69;
+  FIdentFuncTable[70] := @Func70;
+  FIdentFuncTable[72] := @Func72;
+  FIdentFuncTable[74] := @Func74;
+  FIdentFuncTable[76] := @Func76;
+  FIdentFuncTable[78] := @Func78;
+  FIdentFuncTable[79] := @Func79;
+  FIdentFuncTable[80] := @Func80;
+  FIdentFuncTable[81] := @Func81;
+  FIdentFuncTable[82] := @Func82;
+  FIdentFuncTable[83] := @Func83;
+  FIdentFuncTable[85] := @Func85;
+  FIdentFuncTable[86] := @Func86;
+  FIdentFuncTable[87] := @Func87;
+  FIdentFuncTable[88] := @Func88;
+  FIdentFuncTable[90] := @Func90;
+  FIdentFuncTable[91] := @Func91;
+  FIdentFuncTable[93] := @Func93;
+  FIdentFuncTable[94] := @Func94;
+  FIdentFuncTable[95] := @Func95;
+  FIdentFuncTable[96] := @Func96;
+  FIdentFuncTable[97] := @Func97;
+  FIdentFuncTable[98] := @Func98;
+  FIdentFuncTable[99] := @Func99;
+  FIdentFuncTable[100] := @Func100;
+  FIdentFuncTable[101] := @Func101;
+  FIdentFuncTable[102] := @Func102;
+  FIdentFuncTable[103] := @Func103;
+  FIdentFuncTable[105] := @Func105;
+  FIdentFuncTable[106] := @Func106;
+  FIdentFuncTable[107] := @Func107;
+  FIdentFuncTable[108] := @Func108;
+  FIdentFuncTable[110] := @Func110;
+  FIdentFuncTable[111] := @Func111;
+  FIdentFuncTable[112] := @Func112;
+  FIdentFuncTable[113] := @Func113;
+  FIdentFuncTable[114] := @Func114;
+  FIdentFuncTable[115] := @Func115;
+  FIdentFuncTable[116] := @Func116;
+  FIdentFuncTable[117] := @Func117;
+  FIdentFuncTable[118] := @Func118;
+  FIdentFuncTable[120] := @Func120;
+  FIdentFuncTable[121] := @Func121;
+  FIdentFuncTable[122] := @Func122;
+  FIdentFuncTable[124] := @Func124;
+  FIdentFuncTable[126] := @Func126;
+  FIdentFuncTable[128] := @Func128;
+  FIdentFuncTable[129] := @Func129;
+  FIdentFuncTable[130] := @Func130;
+  FIdentFuncTable[131] := @Func131;
+  FIdentFuncTable[134] := @Func134;
+  FIdentFuncTable[136] := @Func136;
+  FIdentFuncTable[137] := @Func137;
+  FIdentFuncTable[138] := @Func138;
+  FIdentFuncTable[139] := @Func139;
+  FIdentFuncTable[140] := @Func140;
+  FIdentFuncTable[141] := @Func141;
+  FIdentFuncTable[144] := @Func144;
+  FIdentFuncTable[148] := @Func148;
+  FIdentFuncTable[149] := @Func149;
+  FIdentFuncTable[150] := @Func150;
+  FIdentFuncTable[151] := @Func151;
+  FIdentFuncTable[152] := @Func152;
+  FIdentFuncTable[154] := @Func154;
+  FIdentFuncTable[156] := @Func156;
+  FIdentFuncTable[158] := @Func158;
+  FIdentFuncTable[160] := @Func160;
+  FIdentFuncTable[164] := @Func164;
+  FIdentFuncTable[166] := @Func166;
+  FIdentFuncTable[167] := @Func167;
+  FIdentFuncTable[169] := @Func169;
+  FIdentFuncTable[172] := @Func172;
+  FIdentFuncTable[173] := @Func173;
+  FIdentFuncTable[174] := @Func174;
+  FIdentFuncTable[178] := @Func178;
+  FIdentFuncTable[182] := @Func182;
+  FIdentFuncTable[187] := @Func187;
+  FIdentFuncTable[190] := @Func190;
+  FIdentFuncTable[194] := @Func194;
+  FIdentFuncTable[195] := @Func195;
+  FIdentFuncTable[199] := @Func199;
+  FIdentFuncTable[200] := @Func200;
+  FIdentFuncTable[210] := @Func210;
+  FIdentFuncTable[213] := @Func213;
+  FIdentFuncTable[220] := @Func220;
+  FIdentFuncTable[250] := @Func250;
 end;
 
 function TSynCssSyn.KeyHash(ToHash: PChar): Integer;
@@ -1416,7 +1396,7 @@
   FToIdent := MayBe;
   HashKey := KeyHash(MayBe);
   if (HashKey >= 16) and (HashKey <= 250) then
-    Result := fIdentFuncTable[HashKey]{$IFDEF FPC}(){$ENDIF}
+    Result := fIdentFuncTable[HashKey]()
   else
     Result := tkIdentifier;
 end;
@@ -1427,20 +1407,20 @@
 begin
   for chI := #0 to #255 do
     case chI of
-      '{', '}'                    : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}AsciiCharProc;
-      #13                         : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}CRProc;
-      '-'                         : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}DashProc;
-      'A'..'Z', 'a'..'z', '_'     : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}IdentProc;
-      '#', '$'                    : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}IntegerProc;
-      #10                         : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}LFProc;
-      #0                          : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}NullProc;
-      '0'..'9'                    : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}NumberProc;
-      ')', '('                    : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}RoundOpenProc;
-      '/'                         : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}SlashProc;
-      #1..#9, #11, #12, #14..#32  : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
-      #39                         : FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}StringProc;
+      '{', '}'                    : FProcTable[chI] := @AsciiCharProc;
+      #13                         : FProcTable[chI] := @CRProc;
+      '-'                         : FProcTable[chI] := @DashProc;
+      'A'..'Z', 'a'..'z', '_'     : FProcTable[chI] := @IdentProc;
+      '#', '$'                    : FProcTable[chI] := @IntegerProc;
+      #10                         : FProcTable[chI] := @LFProc;
+      #0                          : FProcTable[chI] := @NullProc;
+      '0'..'9'                    : FProcTable[chI] := @NumberProc;
+      ')', '('                    : FProcTable[chI] := @RoundOpenProc;
+      '/'                         : FProcTable[chI] := @SlashProc;
+      #1..#9, #11, #12, #14..#32  : FProcTable[chI] := @SpaceProc;
+      #39                         : FProcTable[chI] := @StringProc;
     else
-      FProcTable[chI] := {$IFDEF FPC}@{$ENDIF}UnknownProc;
+      FProcTable[chI] := @UnknownProc;
     end;
 end;
 
@@ -1463,14 +1443,14 @@
   AddAttribute(fStringAttri);
   fSymbolAttri := TSynHighlighterAttributes.Create(SYNS_AttrSymbol, SYNS_XML_AttrSymbol);
   AddAttribute(fSymbolAttri);
-  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
+  SetAttributesOnChange(@DefHighlightChange);
   InitIdent;
   MakeMethodTables;
   fDefaultFilter := SYNS_FilterCSS;
   fRange := rsUnknown;
 end;
 
-procedure TSynCssSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer);
+procedure TSynCssSyn.SetLine(const NewValue: String; LineNumber: Integer);
 begin
   inherited;
   fLine := PChar(NewValue);
@@ -1615,10 +1595,8 @@
   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;
 
@@ -1628,7 +1606,7 @@
   if FRange = rsCStyle then
     CStyleCommentProc
   else
-    FProcTable[FLine[Run]]{$IFDEF FPC}(){$ENDIF};
+    FProcTable[FLine[Run]]();
 end;
 
 function TSynCssSyn.GetDefaultAttribute(Index: Integer): TSynHighlighterAttributes;
@@ -1664,15 +1642,11 @@
   SetString(Result, (FLine + FTokenPos), Len);
 end;
 
-
-{$IFDEF SYN_LAZARUS}
 procedure TSynCssSyn.GetTokenEx(out TokenStart: PChar; out TokenLength: integer);
-
 begin
   TokenLength:=Run-fTokenPos;
   TokenStart:=FLine + fTokenPos;
 end;
-{$ENDIF}
 
 function TSynCssSyn.GetTokenID: TtkTokenKind;
 begin
Index: synhighlighterdiff.pas
===================================================================
--- synhighlighterdiff.pas	(revision 37490)
+++ synhighlighterdiff.pas	(working copy)
@@ -138,7 +138,7 @@
     procedure Next; override;
     function GetEol: Boolean; override;
 
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
+    procedure SetLine(const NewValue: String;
       LineNumber: Integer); override;
     function GetRange: Pointer; override;
     procedure SetRange(Value: Pointer); override;
@@ -647,7 +647,7 @@
   Result := fTokenId = tkNull;
 end;
 
-procedure TSynDiffSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
+procedure TSynDiffSyn.SetLine(const NewValue: String;
   LineNumber: Integer);
 begin
   inherited;
Index: synhighlighterhashentries.pas
===================================================================
--- synhighlighterhashentries.pas	(revision 37490)
+++ synhighlighterhashentries.pas	(working copy)
@@ -42,21 +42,14 @@
 The classes in this unit can be used to use the hashing algorithm while still
 having the ability to change the set of keywords.
 }
-{$IFNDEF QSYNHIGHLIGHTERHASHENTRIES}
 unit SynHighlighterHashEntries;
-{$ENDIF}
 
 {$I SynEdit.inc}
 
 interface
 
 uses
-{$IFDEF SYN_CLX}
-  QSynEditTypes,
-{$ELSE}
-  SynEditTypes,
-{$ENDIF}
-  Classes;
+  SynEditTypes, Classes;
 
 type
   { Class to hold the keyword to recognize, its length and its token kind. The
@@ -94,13 +87,6 @@
     property Next: TSynHashEntry read fNext;
   end;
 
-
-{$IFNDEF SYN_COMPILER_4_UP}
-  {$IFNDEF SYN_CPPB_3}
-    {$DEFINE LIST_CLEAR_NOT_VIRTUAL}
-  {$ENDIF}
-{$ENDIF}
-
   { A list of keyword entries, stored as single-linked lists under the hashvalue
     of the keyword. }
   TSynHashEntryList = class(TList)
@@ -227,13 +213,7 @@
 function TSynHashEntryList.Get(HashKey: Integer): TSynHashEntry;
 begin
   if (HashKey >= 0) and (HashKey < Count) then
-    Result :=
-      {$IFDEF FPC}
-         TSynHashEntry(inherited Items[HashKey])
-      {$ELSE}
-         inherited Items[HashKey]
-      {$ENDIF}
-    
+    Result := TSynHashEntry(inherited Items[HashKey])
   else
     Result := nil;
 end;
Index: synhighlighterhtml.pp
===================================================================
--- synhighlighterhtml.pp	(revision 37490)
+++ synhighlighterhtml.pp	(working copy)
@@ -473,9 +473,7 @@
     function GetTokenID: TtkTokenKind;
     procedure SetLine(const NewValue: string; LineNumber:Integer); override;
     function GetToken: string; override;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
-    {$ENDIF}
     function GetTokenAttribute: TSynHighlighterAttributes; override;
     function GetTokenKind: integer; override;
     function GetTokenPos: Integer; override;
@@ -536,166 +534,166 @@
 begin
   for i := 0 to 255 do
     case i of
-      1:   fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func1;
-      2:   fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func2;
-      8:   fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func8;
-      9:   fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func9;
-      10:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func10;
-      11:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func11;
-      12:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func12;
-      13:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func13;
-      14:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func14;
-      15:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func15;
-      16:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func16;
-      17:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func17;
-      18:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func18;
-      19:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func19;
-      20:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func20;
-      21:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func21;
-      23:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func23;
-      24:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func24;
-      25:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func25;
-      26:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func26;
-      27:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func27;
-      28:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func28;
-      29:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func29;
-      30:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func30;
-      31:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func31;
-      32:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func32;
-      33:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func33;
-      34:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func34;
-      35:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func35;
-      37:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func37;
-      38:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func38;
-      39:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func39;
-      40:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func40;
-      41:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func41;
-      42:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func42;
-      43:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func43;
-      46:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func46;
-      47:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func47;
-      48:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func48;
-      49:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func49;
-      50:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func50;
-      52:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func52;
-      53:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func53;
-      55:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func55;
-      56:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func56;
-      57:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func57;
-      58:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func58;
-      60:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func60;
-      61:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func61;
-      62:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func62;
-      63:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func63;
-      64:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func64;
-      65:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func65;
-      66:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func66;
-      67:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func67;
-      68:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func68;
-      70:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func70;
-      76:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func76;
-      78:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func78;
-      79:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func79;
-      80:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func80;
-      81:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func81;
-      82:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func82;
-      83:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func83;
-      84:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func84;
-      85:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func85;
-      86:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func86;
-      87:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func87;
-      89:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func89;
-      90:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func90;
-      91:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func91;
-      92:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func92;
-      93:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func93;
-      94:  fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func94;
-      100: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func100;
-      105: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func105;
-      107: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func107;
-      110: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func110;
-      113: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func113;
-      114: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func114;
-      117: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func117;
-      121: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func121;
-      123: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func123;
-      124: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func124;
-      128: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func128;
-      130: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func130;
-      131: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func131;
-      132: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func132;
-      133: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func133;
-      134: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func134;
-      135: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func135;
-      136: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func136;
-      137: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func137;
-      138: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func138;
-      139: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func139;
-      140: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func140;
-      141: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func141;
-      143: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func143;
-      145: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func145;
-      146: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func146;
-      149: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func149;
-      150: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func150;
-      152: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func152;
-      153: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func153;
-      154: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func154;
-      155: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func155;
-      156: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func156;
-      157: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func157;
-      159: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func159;
-      160: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func160;
-      161: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func161;
-      162: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func162;
-      163: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func163;
-      164: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func164;
-      165: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func165;
-      168: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func168;
-      169: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func169;
-      170: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func170;
-      171: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func171;
-      172: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func172;
-      174: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func174;
-      175: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func175;
-      177: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func177;
-      178: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func178;
-      179: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func179;
-      180: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func180;
-      182: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func182;
-      183: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func183;
-      185: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func185;
-      186: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func186;
-      187: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func187;
-      188: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func188;
-      190: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func190;
-      192: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func192;
-      198: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func198;
-      200: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func200;
-      201: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func201;
-      202: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func202;
-      203: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func203;
-      204: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func204;
-      205: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func205;
-      207: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func207;
-      208: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func208;
-      209: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func209;
-      211: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func211;
-      212: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func212;
-      213: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func213;
-      214: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func214;
-      215: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func215;
-      216: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func216;
-      222: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func222;
-      227: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func227;
-      229: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func229;
-      232: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func232;
-      235: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func235;
-      236: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func236;
-      239: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func239;
-      243: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func243;
-      250: fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}Func250;
-      else fIdentFuncTable[i] := {$IFDEF FPC}@{$ENDIF}AltFunc;
+      1:   fIdentFuncTable[i] := @Func1;
+      2:   fIdentFuncTable[i] := @Func2;
+      8:   fIdentFuncTable[i] := @Func8;
+      9:   fIdentFuncTable[i] := @Func9;
+      10:  fIdentFuncTable[i] := @Func10;
+      11:  fIdentFuncTable[i] := @Func11;
+      12:  fIdentFuncTable[i] := @Func12;
+      13:  fIdentFuncTable[i] := @Func13;
+      14:  fIdentFuncTable[i] := @Func14;
+      15:  fIdentFuncTable[i] := @Func15;
+      16:  fIdentFuncTable[i] := @Func16;
+      17:  fIdentFuncTable[i] := @Func17;
+      18:  fIdentFuncTable[i] := @Func18;
+      19:  fIdentFuncTable[i] := @Func19;
+      20:  fIdentFuncTable[i] := @Func20;
+      21:  fIdentFuncTable[i] := @Func21;
+      23:  fIdentFuncTable[i] := @Func23;
+      24:  fIdentFuncTable[i] := @Func24;
+      25:  fIdentFuncTable[i] := @Func25;
+      26:  fIdentFuncTable[i] := @Func26;
+      27:  fIdentFuncTable[i] := @Func27;
+      28:  fIdentFuncTable[i] := @Func28;
+      29:  fIdentFuncTable[i] := @Func29;
+      30:  fIdentFuncTable[i] := @Func30;
+      31:  fIdentFuncTable[i] := @Func31;
+      32:  fIdentFuncTable[i] := @Func32;
+      33:  fIdentFuncTable[i] := @Func33;
+      34:  fIdentFuncTable[i] := @Func34;
+      35:  fIdentFuncTable[i] := @Func35;
+      37:  fIdentFuncTable[i] := @Func37;
+      38:  fIdentFuncTable[i] := @Func38;
+      39:  fIdentFuncTable[i] := @Func39;
+      40:  fIdentFuncTable[i] := @Func40;
+      41:  fIdentFuncTable[i] := @Func41;
+      42:  fIdentFuncTable[i] := @Func42;
+      43:  fIdentFuncTable[i] := @Func43;
+      46:  fIdentFuncTable[i] := @Func46;
+      47:  fIdentFuncTable[i] := @Func47;
+      48:  fIdentFuncTable[i] := @Func48;
+      49:  fIdentFuncTable[i] := @Func49;
+      50:  fIdentFuncTable[i] := @Func50;
+      52:  fIdentFuncTable[i] := @Func52;
+      53:  fIdentFuncTable[i] := @Func53;
+      55:  fIdentFuncTable[i] := @Func55;
+      56:  fIdentFuncTable[i] := @Func56;
+      57:  fIdentFuncTable[i] := @Func57;
+      58:  fIdentFuncTable[i] := @Func58;
+      60:  fIdentFuncTable[i] := @Func60;
+      61:  fIdentFuncTable[i] := @Func61;
+      62:  fIdentFuncTable[i] := @Func62;
+      63:  fIdentFuncTable[i] := @Func63;
+      64:  fIdentFuncTable[i] := @Func64;
+      65:  fIdentFuncTable[i] := @Func65;
+      66:  fIdentFuncTable[i] := @Func66;
+      67:  fIdentFuncTable[i] := @Func67;
+      68:  fIdentFuncTable[i] := @Func68;
+      70:  fIdentFuncTable[i] := @Func70;
+      76:  fIdentFuncTable[i] := @Func76;
+      78:  fIdentFuncTable[i] := @Func78;
+      79:  fIdentFuncTable[i] := @Func79;
+      80:  fIdentFuncTable[i] := @Func80;
+      81:  fIdentFuncTable[i] := @Func81;
+      82:  fIdentFuncTable[i] := @Func82;
+      83:  fIdentFuncTable[i] := @Func83;
+      84:  fIdentFuncTable[i] := @Func84;
+      85:  fIdentFuncTable[i] := @Func85;
+      86:  fIdentFuncTable[i] := @Func86;
+      87:  fIdentFuncTable[i] := @Func87;
+      89:  fIdentFuncTable[i] := @Func89;
+      90:  fIdentFuncTable[i] := @Func90;
+      91:  fIdentFuncTable[i] := @Func91;
+      92:  fIdentFuncTable[i] := @Func92;
+      93:  fIdentFuncTable[i] := @Func93;
+      94:  fIdentFuncTable[i] := @Func94;
+      100: fIdentFuncTable[i] := @Func100;
+      105: fIdentFuncTable[i] := @Func105;
+      107: fIdentFuncTable[i] := @Func107;
+      110: fIdentFuncTable[i] := @Func110;
+      113: fIdentFuncTable[i] := @Func113;
+      114: fIdentFuncTable[i] := @Func114;
+      117: fIdentFuncTable[i] := @Func117;
+      121: fIdentFuncTable[i] := @Func121;
+      123: fIdentFuncTable[i] := @Func123;
+      124: fIdentFuncTable[i] := @Func124;
+      128: fIdentFuncTable[i] := @Func128;
+      130: fIdentFuncTable[i] := @Func130;
+      131: fIdentFuncTable[i] := @Func131;
+      132: fIdentFuncTable[i] := @Func132;
+      133: fIdentFuncTable[i] := @Func133;
+      134: fIdentFuncTable[i] := @Func134;
+      135: fIdentFuncTable[i] := @Func135;
+      136: fIdentFuncTable[i] := @Func136;
+      137: fIdentFuncTable[i] := @Func137;
+      138: fIdentFuncTable[i] := @Func138;
+      139: fIdentFuncTable[i] := @Func139;
+      140: fIdentFuncTable[i] := @Func140;
+      141: fIdentFuncTable[i] := @Func141;
+      143: fIdentFuncTable[i] := @Func143;
+      145: fIdentFuncTable[i] := @Func145;
+      146: fIdentFuncTable[i] := @Func146;
+      149: fIdentFuncTable[i] := @Func149;
+      150: fIdentFuncTable[i] := @Func150;
+      152: fIdentFuncTable[i] := @Func152;
+      153: fIdentFuncTable[i] := @Func153;
+      154: fIdentFuncTable[i] := @Func154;
+      155: fIdentFuncTable[i] := @Func155;
+      156: fIdentFuncTable[i] := @Func156;
+      157: fIdentFuncTable[i] := @Func157;
+      159: fIdentFuncTable[i] := @Func159;
+      160: fIdentFuncTable[i] := @Func160;
+      161: fIdentFuncTable[i] := @Func161;
+      162: fIdentFuncTable[i] := @Func162;
+      163: fIdentFuncTable[i] := @Func163;
+      164: fIdentFuncTable[i] := @Func164;
+      165: fIdentFuncTable[i] := @Func165;
+      168: fIdentFuncTable[i] := @Func168;
+      169: fIdentFuncTable[i] := @Func169;
+      170: fIdentFuncTable[i] := @Func170;
+      171: fIdentFuncTable[i] := @Func171;
+      172: fIdentFuncTable[i] := @Func172;
+      174: fIdentFuncTable[i] := @Func174;
+      175: fIdentFuncTable[i] := @Func175;
+      177: fIdentFuncTable[i] := @Func177;
+      178: fIdentFuncTable[i] := @Func178;
+      179: fIdentFuncTable[i] := @Func179;
+      180: fIdentFuncTable[i] := @Func180;
+      182: fIdentFuncTable[i] := @Func182;
+      183: fIdentFuncTable[i] := @Func183;
+      185: fIdentFuncTable[i] := @Func185;
+      186: fIdentFuncTable[i] := @Func186;
+      187: fIdentFuncTable[i] := @Func187;
+      188: fIdentFuncTable[i] := @Func188;
+      190: fIdentFuncTable[i] := @Func190;
+      192: fIdentFuncTable[i] := @Func192;
+      198: fIdentFuncTable[i] := @Func198;
+      200: fIdentFuncTable[i] := @Func200;
+      201: fIdentFuncTable[i] := @Func201;
+      202: fIdentFuncTable[i] := @Func202;
+      203: fIdentFuncTable[i] := @Func203;
+      204: fIdentFuncTable[i] := @Func204;
+      205: fIdentFuncTable[i] := @Func205;
+      207: fIdentFuncTable[i] := @Func207;
+      208: fIdentFuncTable[i] := @Func208;
+      209: fIdentFuncTable[i] := @Func209;
+      211: fIdentFuncTable[i] := @Func211;
+      212: fIdentFuncTable[i] := @Func212;
+      213: fIdentFuncTable[i] := @Func213;
+      214: fIdentFuncTable[i] := @Func214;
+      215: fIdentFuncTable[i] := @Func215;
+      216: fIdentFuncTable[i] := @Func216;
+      222: fIdentFuncTable[i] := @Func222;
+      227: fIdentFuncTable[i] := @Func227;
+      229: fIdentFuncTable[i] := @Func229;
+      232: fIdentFuncTable[i] := @Func232;
+      235: fIdentFuncTable[i] := @Func235;
+      236: fIdentFuncTable[i] := @Func236;
+      239: fIdentFuncTable[i] := @Func239;
+      243: fIdentFuncTable[i] := @Func243;
+      250: fIdentFuncTable[i] := @Func250;
+      else fIdentFuncTable[i] := @AltFunc;
     end;
 end;
 
@@ -2237,42 +2235,42 @@
     case i of
     #0:
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}NullProc;
+        fProcTable[i] := @NullProc;
       end;
     #10:
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}LFProc;
+        fProcTable[i] := @LFProc;
       end;
     #13:
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}CRProc;
+        fProcTable[i] := @CRProc;
       end;
     #1..#9, #11, #12, #14..#32:
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
+        fProcTable[i] := @SpaceProc;
       end;
     '&':
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}AmpersandProc;
+        fProcTable[i] := @AmpersandProc;
       end;
     '"':
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}StringProc;
+        fProcTable[i] := @StringProc;
       end;
     '<':
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}BraceOpenProc;
+        fProcTable[i] := @BraceOpenProc;
       end;
     '>':
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}BraceCloseProc;
+        fProcTable[i] := @BraceCloseProc;
       end;
     '=':
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}EqualProc;
+        fProcTable[i] := @EqualProc;
       end;
     else
-      fProcTable[i] := {$IFDEF FPC}@{$ENDIF}IdentProc;
+      fProcTable[i] := @IdentProc;
     end;
   end;
 end;
@@ -2326,7 +2324,7 @@
   fAndAttri.Style := [fsBold];
   fAndAttri.Foreground := $0000ff00;
   AddAttribute(fAndAttri);
-  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
+  SetAttributesOnChange(@DefHighlightChange);
 
   InitIdent;
   MakeMethodTables;
@@ -2478,7 +2476,7 @@
   fToIdent := MayBe;
   hashKey := KeyHash(MayBe);
   if (hashKey <= 255) then begin
-    Result := fIdentFuncTable[hashKey]{$IFDEF FPC}(){$ENDIF};
+    Result := fIdentFuncTable[hashKey]();
   end else begin
     Result := tkIdentifier;
   end;
@@ -2642,14 +2640,12 @@
   SetString(Result, (FLine + fTokenPos), len);
 end;
 
-{$IFDEF SYN_LAZARUS}
 procedure TSynHTMLSyn.GetTokenEx(out TokenStart: PChar;
   out TokenLength: integer);
 begin
   TokenLength:=Run-fTokenPos;
   TokenStart:=FLine + fTokenPos;
 end;
-{$ENDIF}
 
 function TSynHTMLSyn.GetTokenID: TtkTokenKind;
 begin
Index: synhighlighterini.pas
===================================================================
--- synhighlighterini.pas	(revision 37490)
+++ synhighlighterini.pas	(working copy)
@@ -50,11 +50,7 @@
 
 uses
   Classes,
-  {$IFDEF SYN_CLX}
-  QGraphics,
-  {$ELSE}
   Graphics,
-  {$ENDIF}
   SynEditTypes, SynEditHighlighter;
 
 type
@@ -108,7 +104,7 @@
       override;
     function GetEol: Boolean; override;
     function GetTokenID: TtkTokenKind;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber:Integer); override;
+    procedure SetLine(const NewValue: String; LineNumber:Integer); override;
     function GetToken: String; override;
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
     function GetTokenAttribute: TSynHighlighterAttributes; override;
@@ -190,7 +186,7 @@
   MakeMethodTables;
 end; { Create }
 
-procedure TSynIniSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber:Integer);
+procedure TSynIniSyn.SetLine(const NewValue: String; LineNumber:Integer);
 begin
   inherited;
   fLine := PChar(NewValue);
@@ -255,10 +251,8 @@
     KeyProc
   else begin
     inc(Run);
-    {$IFDEF SYN_LAZARUS}
     while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
      ((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @TextProc)) do inc(Run);
-    {$ENDIF}
     fTokenID := tkText;
     //fTokenID := tkText;
     //inc(Run);
Index: synhighlighterjava.pas
===================================================================
--- synhighlighterjava.pas	(revision 37490)
+++ synhighlighterjava.pas	(working copy)
@@ -49,15 +49,7 @@
 
 uses
   SysUtils, Classes,
-  {$IFDEF SYN_LAZARUS}
   LCLIntf, LCLType, Graphics,
-  {$ELSE}
-  {$IFDEF SYN_CLX}
-  Qt, QControls, QGraphics,
-  {$ELSE}
-  Windows, Messages, Controls, Graphics, Registry,
-  {$ENDIF}
-  {$ENDIF}
   SynEditTypes, SynEditHighlighter;
 
 type
@@ -206,12 +198,10 @@
     function GetEol: Boolean; override;
     function GetRange: Pointer; override;
     function GetTokenID: TtkTokenKind;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
+    procedure SetLine(const NewValue: String;
       LineNumber:Integer); override;
     function GetToken: String; override;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
-    {$ENDIF}
     function GetTokenAttribute: TSynHighlighterAttributes; override;
     function GetTokenKind: integer; override;
     function GetTokenPos: Integer; override;
@@ -275,52 +265,52 @@
 begin
   for I := 0 to 172 do
     Case I of
-      17: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func17;
-      21: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func21;
-      32: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func32;
-      34: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func34;
-      40: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func40;
-      42: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func42;
-      45: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func45;
-      46: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func46;
-      47: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func47;
-      48: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func48;
-      51: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func51;
-      52: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func52;
-      54: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func54;
-      56: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func56;
-      59: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func59;
-      60: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func60;
-      61: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func61;
-      62: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func62;
-      63: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func63;
-      65: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func65;
-      66: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func66;
-      68: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func68;
-      69: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func69;
-      71: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func71;
-      76: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func76;
-      77: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func77;
-      78: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func78;
-      84: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func84;
-      85: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func85;
-      86: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func86;
-      88: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func88;
-      89: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func89;
-      90: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func90;
-      92: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func92;
-      97: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func97;
-      98: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func98;
-      102: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func102;
-      104: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func104;
-      109: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func109;
-      115: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func115;
-      116: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func116;
-      119: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func119;
-      129: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func129;
-      136: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func136;
-      172: fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}Func172;
-    else fIdentFuncTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}AltFunc;
+      17: fIdentFuncTable[I] := @Func17;
+      21: fIdentFuncTable[I] := @Func21;
+      32: fIdentFuncTable[I] := @Func32;
+      34: fIdentFuncTable[I] := @Func34;
+      40: fIdentFuncTable[I] := @Func40;
+      42: fIdentFuncTable[I] := @Func42;
+      45: fIdentFuncTable[I] := @Func45;
+      46: fIdentFuncTable[I] := @Func46;
+      47: fIdentFuncTable[I] := @Func47;
+      48: fIdentFuncTable[I] := @Func48;
+      51: fIdentFuncTable[I] := @Func51;
+      52: fIdentFuncTable[I] := @Func52;
+      54: fIdentFuncTable[I] := @Func54;
+      56: fIdentFuncTable[I] := @Func56;
+      59: fIdentFuncTable[I] := @Func59;
+      60: fIdentFuncTable[I] := @Func60;
+      61: fIdentFuncTable[I] := @Func61;
+      62: fIdentFuncTable[I] := @Func62;
+      63: fIdentFuncTable[I] := @Func63;
+      65: fIdentFuncTable[I] := @Func65;
+      66: fIdentFuncTable[I] := @Func66;
+      68: fIdentFuncTable[I] := @Func68;
+      69: fIdentFuncTable[I] := @Func69;
+      71: fIdentFuncTable[I] := @Func71;
+      76: fIdentFuncTable[I] := @Func76;
+      77: fIdentFuncTable[I] := @Func77;
+      78: fIdentFuncTable[I] := @Func78;
+      84: fIdentFuncTable[I] := @Func84;
+      85: fIdentFuncTable[I] := @Func85;
+      86: fIdentFuncTable[I] := @Func86;
+      88: fIdentFuncTable[I] := @Func88;
+      89: fIdentFuncTable[I] := @Func89;
+      90: fIdentFuncTable[I] := @Func90;
+      92: fIdentFuncTable[I] := @Func92;
+      97: fIdentFuncTable[I] := @Func97;
+      98: fIdentFuncTable[I] := @Func98;
+      102: fIdentFuncTable[I] := @Func102;
+      104: fIdentFuncTable[I] := @Func104;
+      109: fIdentFuncTable[I] := @Func109;
+      115: fIdentFuncTable[I] := @Func115;
+      116: fIdentFuncTable[I] := @Func116;
+      119: fIdentFuncTable[I] := @Func119;
+      129: fIdentFuncTable[I] := @Func129;
+      136: fIdentFuncTable[I] := @Func136;
+      172: fIdentFuncTable[I] := @Func172;
+    else fIdentFuncTable[I] := @AltFunc;
     end;
 end;
 
@@ -612,47 +602,47 @@
 begin
   for I := #0 to #255 do
     case I of
-      '&': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}AndSymbolProc;
-      #39: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}AsciiCharProc;
-      '@': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}AtSymbolProc;
-      '}': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}BraceCloseProc;
-      '{': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}BraceOpenProc;
-      #13: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}CRProc;
-      ':': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}ColonProc;
-      ',': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}CommaProc;
-      '=': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}EqualProc;
-      '>': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}GreaterProc;
+      '&': fProcTable[I] := @AndSymbolProc;
+      #39: fProcTable[I] := @AsciiCharProc;
+      '@': fProcTable[I] := @AtSymbolProc;
+      '}': fProcTable[I] := @BraceCloseProc;
+      '{': fProcTable[I] := @BraceOpenProc;
+      #13: fProcTable[I] := @CRProc;
+      ':': fProcTable[I] := @ColonProc;
+      ',': fProcTable[I] := @CommaProc;
+      '=': fProcTable[I] := @EqualProc;
+      '>': fProcTable[I] := @GreaterProc;
       'A'..'Z', 'a'..'z', '_', '$':
-           fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}IdentProc;
-      #10: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LFProc;
-      '<': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LowerProc;
-      '-': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}MinusProc;
-      '*': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}MultiplyProc;
-      '!': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NotSymbolProc;
-      #0: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NullProc;
-      '0'..'9': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NumberProc;
-      '|': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}OrSymbolProc;
-      '+': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}PlusProc;
-      '.': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}PointProc;
-      '#': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}PoundProc;
-      '?': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}QuestionProc;
-      '%': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}RemainderSymbolProc;
-      ')': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}RoundCloseProc;
-      '(': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}RoundOpenProc;
-      ';': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SemiColonProc;
-      '/': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SlashProc;
+           fProcTable[I] := @IdentProc;
+      #10: fProcTable[I] := @LFProc;
+      '<': fProcTable[I] := @LowerProc;
+      '-': fProcTable[I] := @MinusProc;
+      '*': fProcTable[I] := @MultiplyProc;
+      '!': fProcTable[I] := @NotSymbolProc;
+      #0: fProcTable[I] := @NullProc;
+      '0'..'9': fProcTable[I] := @NumberProc;
+      '|': fProcTable[I] := @OrSymbolProc;
+      '+': fProcTable[I] := @PlusProc;
+      '.': fProcTable[I] := @PointProc;
+      '#': fProcTable[I] := @PoundProc;
+      '?': fProcTable[I] := @QuestionProc;
+      '%': fProcTable[I] := @RemainderSymbolProc;
+      ')': fProcTable[I] := @RoundCloseProc;
+      '(': fProcTable[I] := @RoundOpenProc;
+      ';': fProcTable[I] := @SemiColonProc;
+      '/': fProcTable[I] := @SlashProc;
       #1..#9, #11, #12, #14..#32:
-           fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SpaceProc;
-      ']': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SquareCloseProc;
-      '[': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SquareOpenProc;
-      #34: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}StringProc;
-      '~': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}TildeProc;
-      '^': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}XOrSymbolProc;
+           fProcTable[I] := @SpaceProc;
+      ']': fProcTable[I] := @SquareCloseProc;
+      '[': fProcTable[I] := @SquareOpenProc;
+      #34: fProcTable[I] := @StringProc;
+      '~': fProcTable[I] := @TildeProc;
+      '^': fProcTable[I] := @XOrSymbolProc;
     else
       if (I in TSynSpecialChars) then
-        fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}IdentProc
+        fProcTable[I] := @IdentProc
       else
-        fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}UnknownProc;
+        fProcTable[I] := @UnknownProc;
     end;
 end;
 
@@ -682,14 +672,14 @@
   fSymbolAttri := TSynHighlighterAttributes.Create(SYNS_AttrSymbol, SYNS_XML_AttrSymbol);
   AddAttribute(fSymbolAttri);
   fRange := rsUnknown;
-  SetAttributesOnChange({$IFDEF SYN_LAZARUS}@{$ENDIF}DefHighlightChange);
+  SetAttributesOnChange(@DefHighlightChange);
 
   InitIdent;
   MakeMethodTables;
   fDefaultFilter := SYNS_FilterJava;
 end; { Create }
 
-procedure TSynJavaSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
+procedure TSynJavaSyn.SetLine(const NewValue: String;
   LineNumber:Integer);
 begin
   inherited;
@@ -1253,10 +1243,8 @@
   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;
 
@@ -1316,13 +1304,11 @@
   SetString(Result, (FLine + fTokenPos), Len);
 end;
 
-{$IFDEF SYN_LAZARUS}
 procedure TSynJavaSyn.GetTokenEx(out TokenStart: PChar; out TokenLength: integer);
 begin
   TokenLength:=Run-fTokenPos;
   TokenStart:=FLine + fTokenPos;
 end;
-{$ENDIF}
 
 function TSynJavaSyn.GetTokenID: TtkTokenKind;
 begin
Index: synhighlighterjscript.pas
===================================================================
--- synhighlighterjscript.pas	(revision 37490)
+++ synhighlighterjscript.pas	(working copy)
@@ -45,24 +45,16 @@
 
 { Converted for Lazarus on 2007-12-11 by DiBo33 }
 
-{$IFNDEF QSYNHIGHLIGHTERJSCRIPT}
 unit SynHighlighterJScript;
-{$ENDIF}
 
 {$I SynEdit.inc}
 
 interface
 
 uses
-{$IFDEF SYN_CLX}
-  QGraphics,
-  QSynEditTypes,
-  QSynEditHighlighter,
-{$ELSE}
   Graphics,
   SynEditTypes,
   SynEditHighlighter,
-{$ENDIF}
   SysUtils, Classes;
 
 type
@@ -272,10 +264,8 @@
     function GetEol: Boolean; override;
     function GetRange: Pointer; override;
     function GetTokenID: TtkTokenKind;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
-    {$ENDIF}
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer); override;
+    procedure SetLine(const NewValue: String; LineNumber: Integer); override;
     function GetToken: String; override;
     function GetTokenAttribute: TSynHighlighterAttributes; override;
     function GetTokenKind: integer; override;
@@ -304,11 +294,7 @@
 implementation
 
 uses
-{$IFDEF SYN_CLX}
-  QSynEditStrConst;
-{$ELSE}
   SynEditStrConst;
-{$ENDIF}
 
 var
   Identifiers: array[#0..#255] of ByteBool;
@@ -339,146 +325,146 @@
 begin
   pF := PIdentFuncTableFunc(@fIdentFuncTable);
   for I := Low(fIdentFuncTable) to High(fIdentFuncTable) do begin
-    pF^ := {$IFDEF FPC}@{$ENDIF}AltFunc;
+    pF^ := @AltFunc;
     Inc(pF);
   end;
-  fIdentFuncTable[5] := {$IFDEF FPC}@{$ENDIF}Func5;
-  fIdentFuncTable[15] := {$IFDEF FPC}@{$ENDIF}Func15;
-  fIdentFuncTable[17] := {$IFDEF FPC}@{$ENDIF}Func17;
-  fIdentFuncTable[18] := {$IFDEF FPC}@{$ENDIF}Func18;
-  fIdentFuncTable[19] := {$IFDEF FPC}@{$ENDIF}Func19;
-  fIdentFuncTable[22] := {$IFDEF FPC}@{$ENDIF}Func22;
-  fIdentFuncTable[23] := {$IFDEF FPC}@{$ENDIF}Func23;
-  fIdentFuncTable[25] := {$IFDEF FPC}@{$ENDIF}Func25;
-  fIdentFuncTable[26] := {$IFDEF FPC}@{$ENDIF}Func26;
-  fIdentFuncTable[28] := {$IFDEF FPC}@{$ENDIF}Func28;
-  fIdentFuncTable[29] := {$IFDEF FPC}@{$ENDIF}Func29;
-  fIdentFuncTable[30] := {$IFDEF FPC}@{$ENDIF}Func30;
-  fIdentFuncTable[33] := {$IFDEF FPC}@{$ENDIF}Func33;
-  fIdentFuncTable[34] := {$IFDEF FPC}@{$ENDIF}Func34;
-  fIdentFuncTable[35] := {$IFDEF FPC}@{$ENDIF}Func35;
-  fIdentFuncTable[36] := {$IFDEF FPC}@{$ENDIF}Func36;
-  fIdentFuncTable[37] := {$IFDEF FPC}@{$ENDIF}Func37;
-  fIdentFuncTable[38] := {$IFDEF FPC}@{$ENDIF}Func38;
-  fIdentFuncTable[39] := {$IFDEF FPC}@{$ENDIF}Func39;
-  fIdentFuncTable[40] := {$IFDEF FPC}@{$ENDIF}Func40;
-  fIdentFuncTable[41] := {$IFDEF FPC}@{$ENDIF}Func41;
-  fIdentFuncTable[42] := {$IFDEF FPC}@{$ENDIF}Func42;
-  fIdentFuncTable[43] := {$IFDEF FPC}@{$ENDIF}Func43;
-  fIdentFuncTable[44] := {$IFDEF FPC}@{$ENDIF}Func44;
-  fIdentFuncTable[45] := {$IFDEF FPC}@{$ENDIF}Func45;
-  fIdentFuncTable[46] := {$IFDEF FPC}@{$ENDIF}Func46;
-  fIdentFuncTable[47] := {$IFDEF FPC}@{$ENDIF}Func47;
-  fIdentFuncTable[48] := {$IFDEF FPC}@{$ENDIF}Func48;
-  fIdentFuncTable[49] := {$IFDEF FPC}@{$ENDIF}Func49;
-  fIdentFuncTable[50] := {$IFDEF FPC}@{$ENDIF}Func50;
-  fIdentFuncTable[51] := {$IFDEF FPC}@{$ENDIF}Func51;
-  fIdentFuncTable[52] := {$IFDEF FPC}@{$ENDIF}Func52;
-  fIdentFuncTable[53] := {$IFDEF FPC}@{$ENDIF}Func53;
-  fIdentFuncTable[54] := {$IFDEF FPC}@{$ENDIF}Func54;
-  fIdentFuncTable[55] := {$IFDEF FPC}@{$ENDIF}Func55;
-  fIdentFuncTable[56] := {$IFDEF FPC}@{$ENDIF}Func56;
-  fIdentFuncTable[57] := {$IFDEF FPC}@{$ENDIF}Func57;
-  fIdentFuncTable[58] := {$IFDEF FPC}@{$ENDIF}Func58;
-  fIdentFuncTable[59] := {$IFDEF FPC}@{$ENDIF}Func59;
-  fIdentFuncTable[60] := {$IFDEF FPC}@{$ENDIF}Func60;
-  fIdentFuncTable[61] := {$IFDEF FPC}@{$ENDIF}Func61;
-  fIdentFuncTable[62] := {$IFDEF FPC}@{$ENDIF}Func62;
-  fIdentFuncTable[63] := {$IFDEF FPC}@{$ENDIF}Func63;
-  fIdentFuncTable[64] := {$IFDEF FPC}@{$ENDIF}Func64;
-  fIdentFuncTable[65] := {$IFDEF FPC}@{$ENDIF}Func65;
-  fIdentFuncTable[66] := {$IFDEF FPC}@{$ENDIF}Func66;
-  fIdentFuncTable[67] := {$IFDEF FPC}@{$ENDIF}Func67;
-  fIdentFuncTable[69] := {$IFDEF FPC}@{$ENDIF}Func69;
-  fIdentFuncTable[70] := {$IFDEF FPC}@{$ENDIF}Func70;
-  fIdentFuncTable[71] := {$IFDEF FPC}@{$ENDIF}Func71;
-  fIdentFuncTable[72] := {$IFDEF FPC}@{$ENDIF}Func72;
-  fIdentFuncTable[73] := {$IFDEF FPC}@{$ENDIF}Func73;
-  fIdentFuncTable[74] := {$IFDEF FPC}@{$ENDIF}Func74;
-  fIdentFuncTable[75] := {$IFDEF FPC}@{$ENDIF}Func75;
-  fIdentFuncTable[76] := {$IFDEF FPC}@{$ENDIF}Func76;
-  fIdentFuncTable[77] := {$IFDEF FPC}@{$ENDIF}Func77;
-  fIdentFuncTable[78] := {$IFDEF FPC}@{$ENDIF}Func78;
-  fIdentFuncTable[79] := {$IFDEF FPC}@{$ENDIF}Func79;
-  fIdentFuncTable[80] := {$IFDEF FPC}@{$ENDIF}Func80;
-  fIdentFuncTable[81] := {$IFDEF FPC}@{$ENDIF}Func81;
-  fIdentFuncTable[82] := {$IFDEF FPC}@{$ENDIF}Func82;
-  fIdentFuncTable[83] := {$IFDEF FPC}@{$ENDIF}Func83;
-  fIdentFuncTable[84] := {$IFDEF FPC}@{$ENDIF}Func84;
-  fIdentFuncTable[85] := {$IFDEF FPC}@{$ENDIF}Func85;
-  fIdentFuncTable[86] := {$IFDEF FPC}@{$ENDIF}Func86;
-  fIdentFuncTable[87] := {$IFDEF FPC}@{$ENDIF}Func87;
-  fIdentFuncTable[88] := {$IFDEF FPC}@{$ENDIF}Func88;
-  fIdentFuncTable[89] := {$IFDEF FPC}@{$ENDIF}Func89;
-  fIdentFuncTable[90] := {$IFDEF FPC}@{$ENDIF}Func90;
-  fIdentFuncTable[91] := {$IFDEF FPC}@{$ENDIF}Func91;
-  fIdentFuncTable[92] := {$IFDEF FPC}@{$ENDIF}Func92;
-  fIdentFuncTable[93] := {$IFDEF FPC}@{$ENDIF}Func93;
-  fIdentFuncTable[94] := {$IFDEF FPC}@{$ENDIF}Func94;
-  fIdentFuncTable[95] := {$IFDEF FPC}@{$ENDIF}Func95;
-  fIdentFuncTable[96] := {$IFDEF FPC}@{$ENDIF}Func96;
-  fIdentFuncTable[98] := {$IFDEF FPC}@{$ENDIF}Func98;
-  fIdentFuncTable[99] := {$IFDEF FPC}@{$ENDIF}Func99;
-  fIdentFuncTable[100] := {$IFDEF FPC}@{$ENDIF}Func100;
-  fIdentFuncTable[101] := {$IFDEF FPC}@{$ENDIF}Func101;
-  fIdentFuncTable[102] := {$IFDEF FPC}@{$ENDIF}Func102;
-  fIdentFuncTable[103] := {$IFDEF FPC}@{$ENDIF}Func103;
-  fIdentFuncTable[105] := {$IFDEF FPC}@{$ENDIF}Func105;
-  fIdentFuncTable[106] := {$IFDEF FPC}@{$ENDIF}Func106;
-  fIdentFuncTable[107] := {$IFDEF FPC}@{$ENDIF}Func107;
-  fIdentFuncTable[108] := {$IFDEF FPC}@{$ENDIF}Func108;
-  fIdentFuncTable[109] := {$IFDEF FPC}@{$ENDIF}Func109;
-  fIdentFuncTable[110] := {$IFDEF FPC}@{$ENDIF}Func110;
-  fIdentFuncTable[111] := {$IFDEF FPC}@{$ENDIF}Func111;
-  fIdentFuncTable[113] := {$IFDEF FPC}@{$ENDIF}Func113;
-  fIdentFuncTable[114] := {$IFDEF FPC}@{$ENDIF}Func114;
-  fIdentFuncTable[115] := {$IFDEF FPC}@{$ENDIF}Func115;
-  fIdentFuncTable[116] := {$IFDEF FPC}@{$ENDIF}Func116;
-  fIdentFuncTable[117] := {$IFDEF FPC}@{$ENDIF}Func117;
-  fIdentFuncTable[118] := {$IFDEF FPC}@{$ENDIF}Func118;
-  fIdentFuncTable[119] := {$IFDEF FPC}@{$ENDIF}Func119;
-  fIdentFuncTable[120] := {$IFDEF FPC}@{$ENDIF}Func120;
-  fIdentFuncTable[121] := {$IFDEF FPC}@{$ENDIF}Func121;
-  fIdentFuncTable[122] := {$IFDEF FPC}@{$ENDIF}Func122;
-  fIdentFuncTable[123] := {$IFDEF FPC}@{$ENDIF}Func123;
-  fIdentFuncTable[124] := {$IFDEF FPC}@{$ENDIF}Func124;
-  fIdentFuncTable[125] := {$IFDEF FPC}@{$ENDIF}Func125;
-  fIdentFuncTable[126] := {$IFDEF FPC}@{$ENDIF}Func126;
-  fIdentFuncTable[128] := {$IFDEF FPC}@{$ENDIF}Func128;
-  fIdentFuncTable[129] := {$IFDEF FPC}@{$ENDIF}Func129;
-  fIdentFuncTable[130] := {$IFDEF FPC}@{$ENDIF}Func130;
-  fIdentFuncTable[131] := {$IFDEF FPC}@{$ENDIF}Func131;
-  fIdentFuncTable[132] := {$IFDEF FPC}@{$ENDIF}Func132;
-  fIdentFuncTable[133] := {$IFDEF FPC}@{$ENDIF}Func133;
-  fIdentFuncTable[135] := {$IFDEF FPC}@{$ENDIF}Func135;
-  fIdentFuncTable[136] := {$IFDEF FPC}@{$ENDIF}Func136;
-  fIdentFuncTable[139] := {$IFDEF FPC}@{$ENDIF}Func139;
-  fIdentFuncTable[140] := {$IFDEF FPC}@{$ENDIF}Func140;
-  fIdentFuncTable[142] := {$IFDEF FPC}@{$ENDIF}Func142;
-  fIdentFuncTable[143] := {$IFDEF FPC}@{$ENDIF}Func143;
-  fIdentFuncTable[144] := {$IFDEF FPC}@{$ENDIF}Func144;
-  fIdentFuncTable[145] := {$IFDEF FPC}@{$ENDIF}Func145;
-  fIdentFuncTable[146] := {$IFDEF FPC}@{$ENDIF}Func146;
-  fIdentFuncTable[147] := {$IFDEF FPC}@{$ENDIF}Func147;
-  fIdentFuncTable[150] := {$IFDEF FPC}@{$ENDIF}Func150;
-  fIdentFuncTable[155] := {$IFDEF FPC}@{$ENDIF}Func155;
-  fIdentFuncTable[157] := {$IFDEF FPC}@{$ENDIF}Func157;
-  fIdentFuncTable[158] := {$IFDEF FPC}@{$ENDIF}Func158;
-  fIdentFuncTable[160] := {$IFDEF FPC}@{$ENDIF}Func160;
-  fIdentFuncTable[162] := {$IFDEF FPC}@{$ENDIF}Func162;
-  fIdentFuncTable[166] := {$IFDEF FPC}@{$ENDIF}Func166;
-  fIdentFuncTable[167] := {$IFDEF FPC}@{$ENDIF}Func167;
-  fIdentFuncTable[169] := {$IFDEF FPC}@{$ENDIF}Func169;
-  fIdentFuncTable[170] := {$IFDEF FPC}@{$ENDIF}Func170;
-  fIdentFuncTable[176] := {$IFDEF FPC}@{$ENDIF}Func176;
-  fIdentFuncTable[177] := {$IFDEF FPC}@{$ENDIF}Func177;
-  fIdentFuncTable[178] := {$IFDEF FPC}@{$ENDIF}Func178;
-  fIdentFuncTable[188] := {$IFDEF FPC}@{$ENDIF}Func188;
-  fIdentFuncTable[189] := {$IFDEF FPC}@{$ENDIF}Func189;
-  fIdentFuncTable[210] := {$IFDEF FPC}@{$ENDIF}Func210;
-  fIdentFuncTable[220] := {$IFDEF FPC}@{$ENDIF}Func220;
-  fIdentFuncTable[222] := {$IFDEF FPC}@{$ENDIF}Func222;
-  fIdentFuncTable[252] := {$IFDEF FPC}@{$ENDIF}Func252;
+  fIdentFuncTable[5] := @Func5;
+  fIdentFuncTable[15] := @Func15;
+  fIdentFuncTable[17] := @Func17;
+  fIdentFuncTable[18] := @Func18;
+  fIdentFuncTable[19] := @Func19;
+  fIdentFuncTable[22] := @Func22;
+  fIdentFuncTable[23] := @Func23;
+  fIdentFuncTable[25] := @Func25;
+  fIdentFuncTable[26] := @Func26;
+  fIdentFuncTable[28] := @Func28;
+  fIdentFuncTable[29] := @Func29;
+  fIdentFuncTable[30] := @Func30;
+  fIdentFuncTable[33] := @Func33;
+  fIdentFuncTable[34] := @Func34;
+  fIdentFuncTable[35] := @Func35;
+  fIdentFuncTable[36] := @Func36;
+  fIdentFuncTable[37] := @Func37;
+  fIdentFuncTable[38] := @Func38;
+  fIdentFuncTable[39] := @Func39;
+  fIdentFuncTable[40] := @Func40;
+  fIdentFuncTable[41] := @Func41;
+  fIdentFuncTable[42] := @Func42;
+  fIdentFuncTable[43] := @Func43;
+  fIdentFuncTable[44] := @Func44;
+  fIdentFuncTable[45] := @Func45;
+  fIdentFuncTable[46] := @Func46;
+  fIdentFuncTable[47] := @Func47;
+  fIdentFuncTable[48] := @Func48;
+  fIdentFuncTable[49] := @Func49;
+  fIdentFuncTable[50] := @Func50;
+  fIdentFuncTable[51] := @Func51;
+  fIdentFuncTable[52] := @Func52;
+  fIdentFuncTable[53] := @Func53;
+  fIdentFuncTable[54] := @Func54;
+  fIdentFuncTable[55] := @Func55;
+  fIdentFuncTable[56] := @Func56;
+  fIdentFuncTable[57] := @Func57;
+  fIdentFuncTable[58] := @Func58;
+  fIdentFuncTable[59] := @Func59;
+  fIdentFuncTable[60] := @Func60;
+  fIdentFuncTable[61] := @Func61;
+  fIdentFuncTable[62] := @Func62;
+  fIdentFuncTable[63] := @Func63;
+  fIdentFuncTable[64] := @Func64;
+  fIdentFuncTable[65] := @Func65;
+  fIdentFuncTable[66] := @Func66;
+  fIdentFuncTable[67] := @Func67;
+  fIdentFuncTable[69] := @Func69;
+  fIdentFuncTable[70] := @Func70;
+  fIdentFuncTable[71] := @Func71;
+  fIdentFuncTable[72] := @Func72;
+  fIdentFuncTable[73] := @Func73;
+  fIdentFuncTable[74] := @Func74;
+  fIdentFuncTable[75] := @Func75;
+  fIdentFuncTable[76] := @Func76;
+  fIdentFuncTable[77] := @Func77;
+  fIdentFuncTable[78] := @Func78;
+  fIdentFuncTable[79] := @Func79;
+  fIdentFuncTable[80] := @Func80;
+  fIdentFuncTable[81] := @Func81;
+  fIdentFuncTable[82] := @Func82;
+  fIdentFuncTable[83] := @Func83;
+  fIdentFuncTable[84] := @Func84;
+  fIdentFuncTable[85] := @Func85;
+  fIdentFuncTable[86] := @Func86;
+  fIdentFuncTable[87] := @Func87;
+  fIdentFuncTable[88] := @Func88;
+  fIdentFuncTable[89] := @Func89;
+  fIdentFuncTable[90] := @Func90;
+  fIdentFuncTable[91] := @Func91;
+  fIdentFuncTable[92] := @Func92;
+  fIdentFuncTable[93] := @Func93;
+  fIdentFuncTable[94] := @Func94;
+  fIdentFuncTable[95] := @Func95;
+  fIdentFuncTable[96] := @Func96;
+  fIdentFuncTable[98] := @Func98;
+  fIdentFuncTable[99] := @Func99;
+  fIdentFuncTable[100] := @Func100;
+  fIdentFuncTable[101] := @Func101;
+  fIdentFuncTable[102] := @Func102;
+  fIdentFuncTable[103] := @Func103;
+  fIdentFuncTable[105] := @Func105;
+  fIdentFuncTable[106] := @Func106;
+  fIdentFuncTable[107] := @Func107;
+  fIdentFuncTable[108] := @Func108;
+  fIdentFuncTable[109] := @Func109;
+  fIdentFuncTable[110] := @Func110;
+  fIdentFuncTable[111] := @Func111;
+  fIdentFuncTable[113] := @Func113;
+  fIdentFuncTable[114] := @Func114;
+  fIdentFuncTable[115] := @Func115;
+  fIdentFuncTable[116] := @Func116;
+  fIdentFuncTable[117] := @Func117;
+  fIdentFuncTable[118] := @Func118;
+  fIdentFuncTable[119] := @Func119;
+  fIdentFuncTable[120] := @Func120;
+  fIdentFuncTable[121] := @Func121;
+  fIdentFuncTable[122] := @Func122;
+  fIdentFuncTable[123] := @Func123;
+  fIdentFuncTable[124] := @Func124;
+  fIdentFuncTable[125] := @Func125;
+  fIdentFuncTable[126] := @Func126;
+  fIdentFuncTable[128] := @Func128;
+  fIdentFuncTable[129] := @Func129;
+  fIdentFuncTable[130] := @Func130;
+  fIdentFuncTable[131] := @Func131;
+  fIdentFuncTable[132] := @Func132;
+  fIdentFuncTable[133] := @Func133;
+  fIdentFuncTable[135] := @Func135;
+  fIdentFuncTable[136] := @Func136;
+  fIdentFuncTable[139] := @Func139;
+  fIdentFuncTable[140] := @Func140;
+  fIdentFuncTable[142] := @Func142;
+  fIdentFuncTable[143] := @Func143;
+  fIdentFuncTable[144] := @Func144;
+  fIdentFuncTable[145] := @Func145;
+  fIdentFuncTable[146] := @Func146;
+  fIdentFuncTable[147] := @Func147;
+  fIdentFuncTable[150] := @Func150;
+  fIdentFuncTable[155] := @Func155;
+  fIdentFuncTable[157] := @Func157;
+  fIdentFuncTable[158] := @Func158;
+  fIdentFuncTable[160] := @Func160;
+  fIdentFuncTable[162] := @Func162;
+  fIdentFuncTable[166] := @Func166;
+  fIdentFuncTable[167] := @Func167;
+  fIdentFuncTable[169] := @Func169;
+  fIdentFuncTable[170] := @Func170;
+  fIdentFuncTable[176] := @Func176;
+  fIdentFuncTable[177] := @Func177;
+  fIdentFuncTable[178] := @Func178;
+  fIdentFuncTable[188] := @Func188;
+  fIdentFuncTable[189] := @Func189;
+  fIdentFuncTable[210] := @Func210;
+  fIdentFuncTable[220] := @Func220;
+  fIdentFuncTable[222] := @Func222;
+  fIdentFuncTable[252] := @Func252;
 end;
 
 function TSynJScriptSyn.KeyHash(ToHash: PChar): Integer;
@@ -1472,7 +1458,7 @@
   fToIdent := MayBe;
   HashKey := KeyHash(MayBe);
   if HashKey < 253 then
-    Result := fIdentFuncTable[HashKey]{$IFDEF FPC}(){$ENDIF}
+    Result := fIdentFuncTable[HashKey]()
   else
     Result := tkIdentifier;
 end;
@@ -1483,25 +1469,25 @@
 begin
   for I := #0 to #255 do
     case I of
-      '&': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AndSymbolProc;
-      #13: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
-      'A'..'Z', 'a'..'z', '_': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}IdentProc;
-      #10: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
-      '-': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MinusProc;
-      '%': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}ModSymbolProc;
-      #0: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
-      '0'..'9': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NumberProc;
-      '|': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}OrSymbolProc;
-      '+': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PlusProc;
-      '.': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PointProc;
-      '/': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SlashProc;
-      #1..#9, #11, #12, #14..#32: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
-      '*': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StarProc;
-      '"', #39: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StringProc;
+      '&': fProcTable[I] := @AndSymbolProc;
+      #13: fProcTable[I] := @CRProc;
+      'A'..'Z', 'a'..'z', '_': fProcTable[I] := @IdentProc;
+      #10: fProcTable[I] := @LFProc;
+      '-': fProcTable[I] := @MinusProc;
+      '%': fProcTable[I] := @ModSymbolProc;
+      #0: fProcTable[I] := @NullProc;
+      '0'..'9': fProcTable[I] := @NumberProc;
+      '|': fProcTable[I] := @OrSymbolProc;
+      '+': fProcTable[I] := @PlusProc;
+      '.': fProcTable[I] := @PointProc;
+      '/': fProcTable[I] := @SlashProc;
+      #1..#9, #11, #12, #14..#32: fProcTable[I] := @SpaceProc;
+      '*': fProcTable[I] := @StarProc;
+      '"', #39: fProcTable[I] := @StringProc;
       '~', '{', '}', ',', '(', ')', '[', ']', '<', '>', ':', '?', ';', '!', '=':
-        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SymbolProc;
+        fProcTable[I] := @SymbolProc;
     else
-      fProcTable[I] := {$IFDEF FPC}@{$ENDIF}UnknownProc;
+      fProcTable[I] := @UnknownProc;
     end;
 end;
 
@@ -1528,14 +1514,14 @@
   AddAttribute(fStringAttri);
   fSymbolAttri := TSynHighlighterAttributes.Create(SYNS_AttrSymbol, SYNS_XML_AttrSymbol);
   AddAttribute(fSymbolAttri);
-  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
+  SetAttributesOnChange(@DefHighlightChange);
   InitIdent;
   MakeMethodTables;
   fDefaultFilter := SYNS_FilterJScript;
   fRange := rsUnknown;
 end;
 
-procedure TSynJScriptSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer);
+procedure TSynJScriptSyn.SetLine(const NewValue: String; LineNumber: Integer);
 begin
   inherited;
   fLine := PChar(NewValue);
@@ -1735,10 +1721,8 @@
   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;
 
@@ -1788,13 +1772,11 @@
   Result := fTokenId;
 end;
 
-{$IFDEF SYN_LAZARUS}
 procedure TSynJScriptSyn.GetTokenEx(out TokenStart: PChar; out TokenLength: integer);
 begin
   TokenLength:=Run-fTokenPos;
   TokenStart:=FLine + fTokenPos;
 end;
-{$ENDIF}
 
 function TSynJScriptSyn.GetTokenAttribute: TSynHighlighterAttributes;
 begin
Index: synhighlighterlfm.pas
===================================================================
--- synhighlighterlfm.pas	(revision 37490)
+++ synhighlighterlfm.pas	(working copy)
@@ -136,12 +136,10 @@
     function GetEol: Boolean; override;
     function GetRange: Pointer; override;
     function GetTokenID: TtkTokenKind;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
+    procedure SetLine(const NewValue: String;
       LineNumber: Integer); override;
     function GetToken: String; override;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
-    {$ENDIF}
     function GetTokenAttribute: TSynHighlighterAttributes; override;
     function GetTokenKind: integer; override;
     function GetTokenPos: Integer; override;
@@ -172,7 +170,7 @@
 uses
   SynEditStrConst;
 
-{ A couple of useful Delphi Form functions }
+{ A couple of useful Lazarus Form functions }
 
 function LoadLFMFile2Strings(const AFile: string; AStrings: TStrings;
   var WasText: boolean): integer;
@@ -244,28 +242,28 @@
 begin
   for I := #0 to #255 do
     case I of
-      '#': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AsciiCharProc;
-      '}': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceCloseProc;
-      '{': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceOpenProc;
-      #13: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
+      '#': fProcTable[I] := @AsciiCharProc;
+      '}': fProcTable[I] := @BraceCloseProc;
+      '{': fProcTable[I] := @BraceOpenProc;
+      #13: fProcTable[I] := @CRProc;
       'A'..'Z', 'a'..'z', '_':
         if I in ['e', 'E'] then
-          fProcTable[I] := {$IFDEF FPC}@{$ENDIF}EndProc
+          fProcTable[I] := @EndProc
         else if I in ['o', 'O'] then
-          fProcTable[I] := {$IFDEF FPC}@{$ENDIF}ObjectProc
+          fProcTable[I] := @ObjectProc
         else if I in ['i', 'I'] then
-          fProcTable[I] := {$IFDEF FPC}@{$ENDIF}InheritedInlineProc
+          fProcTable[I] := @InheritedInlineProc
         else
-          fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AltProc;
-      '$': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}IntegerProc;
-      #10: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
-      #0: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
-      '0'..'9': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NumberProc;
+          fProcTable[I] := @AltProc;
+      '$': fProcTable[I] := @IntegerProc;
+      #10: fProcTable[I] := @LFProc;
+      #0: fProcTable[I] := @NullProc;
+      '0'..'9': fProcTable[I] := @NumberProc;
       '(', ')', '/', '=', '<', '>', '.', ',', '[', ']':
-        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SymbolProc;
-      #1..#9, #11, #12, #14..#32: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
-      #39: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StringProc;
-    else fProcTable[I] := {$IFDEF FPC}@{$ENDIF}UnknownProc;
+        fProcTable[I] := @SymbolProc;
+      #1..#9, #11, #12, #14..#32: fProcTable[I] := @SpaceProc;
+      #39: fProcTable[I] := @StringProc;
+    else fProcTable[I] := @UnknownProc;
     end;
 end;
 
@@ -294,7 +292,7 @@
   AddAttribute(fStringAttri);
   fSymbolAttri := TSynHighlighterAttributes.Create(SYNS_AttrSymbol, SYNS_XML_AttrSymbol);
   AddAttribute(fSymbolAttri);
-  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
+  SetAttributesOnChange(@DefHighlightChange);
   MakeMethodTables;
   fDefaultFilter := SYNS_FilterLFM;
   fRange := rsUnknown;
@@ -305,7 +303,7 @@
   inherited Destroy;
 end;
 
-procedure TSynLFMSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
+procedure TSynLFMSyn.SetLine(const NewValue: String;
   LineNumber: Integer);
 begin
   inherited;
@@ -509,10 +507,8 @@
   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;
 
@@ -523,7 +519,7 @@
     if fLine[Run] = #0 then NullProc
                        else CommentProc;
   end else
-    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
+    fProcTable[fLine[Run]]();
 end;
 
 function TSynLFMSyn.GetDefaultAttribute(Index: integer): TSynHighlighterAttributes;
@@ -565,14 +561,12 @@
   SetString(Result, (FLine + fTokenPos), Len);
 end;
 
-{$IFDEF SYN_LAZARUS}
 procedure TSynLFMSyn.GetTokenEx(out TokenStart: PChar;
   out TokenLength: integer);
 begin
   TokenLength:=Run-fTokenPos;
   TokenStart:=FLine + fTokenPos;
 end;
-{$ENDIF}
 
 function TSynLFMSyn.GetTokenAttribute: TSynHighlighterAttributes;
 begin
Index: synhighlightermulti.pas
===================================================================
--- synhighlightermulti.pas	(revision 37490)
+++ synhighlightermulti.pas	(working copy)
@@ -175,10 +175,8 @@
     procedure SetCaseSensitive(const Value: Boolean);
     procedure SetVirtualLines(const AValue: TSynHLightMultiVirtualLines);
   protected
-{$IFDEF SYN_COMPILER_3_UP}
     function GetDisplayName: String; override;
     procedure SetDisplayName(const Value: String); override;
-{$ENDIF}
   public
     constructor Create(TheCollection: TCollection); override;
     destructor Destroy; override;
@@ -216,10 +214,8 @@
     procedure SetCurrentLine(const AValue: String);
     procedure SetItems(Index: integer; const Value: TSynHighlighterMultiScheme);
   protected
-{$IFDEF SYN_COMPILER_3_UP}
     function GetOwner: TPersistent; override;
     procedure Update(Item: TCollectionItem); override;
-{$ENDIF}
     procedure Notify(Item: TCollectionItem;Action: TCollectionNotification); override;
   public
     constructor Create(aOwner: TSynMultiSyn);
@@ -317,7 +313,7 @@
     function  GetTokenAttribute: TSynHighlighterAttributes; override;
     function  GetTokenKind: integer; override;
     function  GetTokenPos: Integer; override; // 0-based
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string; LineNumber: Integer); override;
+    procedure SetLine(const NewValue: string; LineNumber: Integer); override;
     function  GetRange: Pointer; override;
     procedure SetRange(Value: Pointer); override;
     procedure ResetRange; override;
@@ -1193,7 +1189,7 @@
 
 procedure TSynMultiSyn.HookHighlighter(aHL: TSynCustomHighlighter);
 begin
-  aHL.HookAttrChangeEvent( {$IFDEF FPC}@{$ENDIF}DefHighlightChange );
+  aHL.HookAttrChangeEvent( @DefHighlightChange );
 end;
 
 procedure TSynMultiSyn.Next;
@@ -1433,7 +1429,7 @@
   Result := TSynHighlighterMultiRangeList(inherited CurrentRanges)
 end;
 
-procedure TSynMultiSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string;
+procedure TSynMultiSyn.SetLine(const NewValue: string;
   LineNumber: Integer);
   procedure InitRunSection(ASchemeIdx: Integer);
   var
@@ -1520,7 +1516,7 @@
 begin
   if csDestroying in aHL.ComponentState then
     Exit;
-  aHL.UnhookAttrChangeEvent( {$IFDEF FPC}@{$ENDIF}DefHighlightChange );
+  aHL.UnhookAttrChangeEvent( @DefHighlightChange );
 end;
 
 function TSynMultiSyn.GetSampleSource: string;
@@ -1612,19 +1608,16 @@
     Items[i].ClearLinesSet;
 end;
 
-{$IFDEF SYN_COMPILER_3_UP}
 function TSynHighlighterMultiSchemeList.GetOwner: TPersistent;
 begin
   Result := Owner;
 end;
-{$ENDIF}
 
 procedure TSynHighlighterMultiSchemeList.SetItems(Index: integer; const Value: TSynHighlighterMultiScheme);
 begin
   inherited Items[Index] := Value;
 end;
 
-{$IFDEF SYN_COMPILER_3_UP}
 procedure TSynHighlighterMultiSchemeList.Update(Item: TCollectionItem);
 begin
   // property of an Item changed
@@ -1639,8 +1632,6 @@
   Owner.SchemeChanged;
 end;
 
-{$ENDIF}
-
 { TSynHighlighterMultiScheme }
 
 function TSynHighlighterMultiScheme.GetConvertedLine: String;
@@ -1679,7 +1670,7 @@
   FEndExprScanner := TRegExpr.Create;
   fCaseSensitive := True;
   fMarkerAttri := TSynHighlighterAttributes.Create(SYNS_AttrMarker, SYNS_XML_AttrMarker);
-  fMarkerAttri.OnChange := {$IFDEF FPC}@{$ENDIF}MarkerAttriChanged;
+  fMarkerAttri.OnChange := @MarkerAttriChanged;
   MarkerAttri.Background := clYellow;
   MarkerAttri.Style := [fsBold];
   MarkerAttri.InternalSaveDefaultValues;
@@ -1769,7 +1760,6 @@
   until False;
 end;
 
-{$IFDEF SYN_COMPILER_3_UP}
 function TSynHighlighterMultiScheme.GetDisplayName: String;
 begin
   if SchemeName <> '' then
@@ -1777,7 +1767,6 @@
   else
     Result := inherited GetDisplayName;
 end;
-{$ENDIF SYN_COMPILER_3_UP}
 
 procedure TSynHighlighterMultiScheme.MarkerAttriChanged(Sender: TObject);
 begin
@@ -1805,12 +1794,10 @@
     FHighlighter.CurrentLines := AValue;
 end;
 
-{$IFDEF SYN_COMPILER_3_UP}
 procedure TSynHighlighterMultiScheme.SetDisplayName(const Value: String);
 begin
   SchemeName := Value;
 end;
-{$ENDIF SYN_COMPILER_3_UP}
 
 procedure TSynHighlighterMultiScheme.SetEndExpr(const Value: string);
 var OldValue: String;
Index: synhighlighterperl.pas
===================================================================
--- synhighlighterperl.pas	(revision 37490)
+++ synhighlighterperl.pas	(working copy)
@@ -52,16 +52,8 @@
 
 uses
   SysUtils, Classes,
-  {$IFDEF SYN_CLX}
-  Qt, QControls, QGraphics,
-  {$ELSE}
-  {$IFDEF SYN_LAZARUS}
   LCLIntf, LCLType,
-  {$ELSE}
-  Windows, Messages, Registry,
-  {$ENDIF}
   Controls, Graphics,
-  {$ENDIF}
   SynEditTypes, SynEditHighlighter;
 
 type
@@ -370,12 +362,10 @@
       override;
     function GetEol: Boolean; override;
     function GetTokenID: TtkTokenKind;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
+    procedure SetLine(const NewValue: String;
       LineNumber:Integer); override;
     function GetToken: String; override;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
-    {$ENDIF}
     function GetTokenAttribute: TSynHighlighterAttributes; override;
     function GetTokenKind: integer; override;
     function GetTokenPos: Integer; override;
@@ -440,245 +430,245 @@
 begin
   for I := 0 to 2167 do
     Case I of
-      109: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}Func109;
-      113: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func113;
-      196: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func196;
-      201: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func201;
-      204: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func204;
-      207: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func207;
-      209: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func209;
-      211: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func211;
-      214: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func214;
-      216: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func216;
-      219: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func219;
-      221: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func221;
-      224: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func224;
-      225: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func225;
-      226: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func226;
-      230: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func230;
-      232: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func232;
-      233: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func233;
-      248: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func248;
-      254: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func254;
-      255: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func255;
-      257: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func257;
-      262: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func262;
-      263: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func263;
-      269: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func269;
-      280: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func280;
-      282: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func282;
-      306: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func306;
-      307: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func307;
-      310: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func310;
-      314: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func314;
-      317: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func317;
-      318: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func318;
-      320: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func320;
-      322: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func322;
-      325: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func325;
-      326: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func326;
-      327: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func327;
-      330: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func330;
-      331: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func331;
-      333: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func333;
-      335: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func335;
-      337: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func337;
-      338: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func338;
-      340: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func340;
-      345: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func345;
-      346: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func346;
-      368: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func368;
-      401: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func401;
-      412: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func412;
-      413: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func413;
-      415: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func415;
-      419: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func419;
-      420: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func420;
-      421: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func421;
-      424: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func424;
-      425: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func425;
-      426: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func426;
-      428: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func428;
-      430: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func430;
-      431: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func431;
-      432: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func432;
-      433: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func433;
-      434: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func434;
-      436: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func436;
-      437: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func437;
-      438: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func438;
-      439: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func439;
-      440: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func440;
-      441: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func441;
-      442: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func442;
-      444: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func444;
-      445: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func445;
-      447: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func447;
-      448: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func448;
-      456: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func456;
-      458: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func458;
-      470: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func470;
-      477: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func477;
-      502: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func502;
-      522: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func522;
-      523: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func523;
-      525: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func525;
-      527: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func527;
-      530: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func530;
-      531: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func531;
-      534: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func534;
-      535: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func535;
-      536: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func536;
-      537: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func537;
-      539: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func539;
-      542: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func542;
-      543: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func543;
-      545: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func545;
-      546: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func546;
-      547: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func547;
-      548: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func548;
-      549: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func549;
-      552: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func552;
-      555: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func555;
-      556: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func556;
-      557: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func557;
-      562: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func562;
-      569: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func569;
-      570: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func570;
-      622: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func622;
-      624: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func624;
-      627: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func627;
-      630: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func630;
-      632: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func632;
-      637: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func637;
-      640: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func640;
-      642: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func642;
-      643: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func643;
-      645: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func645;
-      647: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func647;
-      648: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func648;
-      649: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func649;
-      650: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func650;
-      651: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func651;
-      652: fIdentFuncTable[I] :={$IFDEF FPC}@{$ENDIF}func652;
-      655: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func655;
-      656: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func656;
-      657: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func657;
-      658: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func658;
-      665: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func665;
-      666: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func666;
-      667: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func667;
-      672: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func672;
-      675: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func675;
-      677: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func677;
-      687: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func687;
-      688: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func688;
-      716: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func716;
-      719: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func719;
-      727: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func727;
-      728: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func728;
-      731: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func731;
-      734: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func734;
-      740: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func740;
-      741: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func741;
-      743: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func743;
-      746: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func746;
-      749: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func749;
-      750: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func750;
-      752: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func752;
-      753: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func753;
-      754: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func754;
-      759: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func759;
-      761: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func761;
-      762: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func762;
-      763: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func763;
-      764: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func764;
-      765: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func765;
-      768: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func768;
-      769: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func769;
-      773: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func773;
-      774: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func774;
-      775: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func775;
-      815: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func815;
-      821: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func821;
-      841: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func841;
-      842: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func842;
-      845: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func845;
-      853: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func853;
-      855: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func855;
-      857: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func857;
-      860: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func860;
-      864: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func864;
-      867: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func867;
-      868: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func868;
-      869: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func869;
-      870: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func870;
-      873: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func873;
-      874: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func874;
-      876: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func876;
-      877: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func877;
-      878: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func878;
-      881: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func881;
-      883: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func883;
-      890: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func890;
-      892: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func892;
-      906: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func906;
-      933: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func933;
-      954: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func954;
-      956: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func956;
-      965: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func965;
-      968: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func968;
-      974: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func974;
-      978: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func978;
-      981: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func981;
-      985: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func985;
-      986: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func986;
-      988: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func988;
-      1056: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1056;
-      1077: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1077;
-      1079: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1079;
-      1084: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1084;
-      1086: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1086;
-      1091: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1091;
-      1093: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1093;
-      1095: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1095;
-      1103: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1103;
-      1105: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1105;
-      1107: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1107;
-      1136: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1136;
-      1158: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1158;
-      1165: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1165;
-      1169: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1169;
-      1172: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1172;
-      1176: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1176;
-      1202: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1202;
-      1211: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1211;
-      1215: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1215;
-      1218: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1218;
-      1223: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1223;
-      1230: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1230;
-      1273: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1273;
-      1277: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1277;
-      1283: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1283;
-      1327: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1327;
-      1343: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1343;
-      1361: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1361;
-      1379: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1379;
-      1396: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1396;
-      1402: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1402;
-      1404: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1404;
-      1409: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1409;
-      1421: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1421;
-      1425: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1425;
-      1440: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1440;
-      1520: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1520;
-      1523: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1523;
-      1673: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1673;
-      1752: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1752;
-      1762: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1762;
-      1768: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func1768;
-      2167: fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}func2167;
-    else fIdentFuncTable[I] := {$IFDEF FPC}@{$ENDIF}AltFunc;
+      109: fIdentFuncTable[I] := @Func109;
+      113: fIdentFuncTable[I] :=@func113;
+      196: fIdentFuncTable[I] :=@func196;
+      201: fIdentFuncTable[I] :=@func201;
+      204: fIdentFuncTable[I] :=@func204;
+      207: fIdentFuncTable[I] :=@func207;
+      209: fIdentFuncTable[I] :=@func209;
+      211: fIdentFuncTable[I] :=@func211;
+      214: fIdentFuncTable[I] :=@func214;
+      216: fIdentFuncTable[I] :=@func216;
+      219: fIdentFuncTable[I] :=@func219;
+      221: fIdentFuncTable[I] :=@func221;
+      224: fIdentFuncTable[I] :=@func224;
+      225: fIdentFuncTable[I] :=@func225;
+      226: fIdentFuncTable[I] :=@func226;
+      230: fIdentFuncTable[I] :=@func230;
+      232: fIdentFuncTable[I] :=@func232;
+      233: fIdentFuncTable[I] :=@func233;
+      248: fIdentFuncTable[I] :=@func248;
+      254: fIdentFuncTable[I] :=@func254;
+      255: fIdentFuncTable[I] :=@func255;
+      257: fIdentFuncTable[I] :=@func257;
+      262: fIdentFuncTable[I] :=@func262;
+      263: fIdentFuncTable[I] :=@func263;
+      269: fIdentFuncTable[I] :=@func269;
+      280: fIdentFuncTable[I] :=@func280;
+      282: fIdentFuncTable[I] :=@func282;
+      306: fIdentFuncTable[I] :=@func306;
+      307: fIdentFuncTable[I] :=@func307;
+      310: fIdentFuncTable[I] :=@func310;
+      314: fIdentFuncTable[I] :=@func314;
+      317: fIdentFuncTable[I] :=@func317;
+      318: fIdentFuncTable[I] :=@func318;
+      320: fIdentFuncTable[I] :=@func320;
+      322: fIdentFuncTable[I] :=@func322;
+      325: fIdentFuncTable[I] :=@func325;
+      326: fIdentFuncTable[I] :=@func326;
+      327: fIdentFuncTable[I] :=@func327;
+      330: fIdentFuncTable[I] :=@func330;
+      331: fIdentFuncTable[I] :=@func331;
+      333: fIdentFuncTable[I] :=@func333;
+      335: fIdentFuncTable[I] :=@func335;
+      337: fIdentFuncTable[I] :=@func337;
+      338: fIdentFuncTable[I] :=@func338;
+      340: fIdentFuncTable[I] :=@func340;
+      345: fIdentFuncTable[I] :=@func345;
+      346: fIdentFuncTable[I] :=@func346;
+      368: fIdentFuncTable[I] :=@func368;
+      401: fIdentFuncTable[I] :=@func401;
+      412: fIdentFuncTable[I] :=@func412;
+      413: fIdentFuncTable[I] :=@func413;
+      415: fIdentFuncTable[I] :=@func415;
+      419: fIdentFuncTable[I] :=@func419;
+      420: fIdentFuncTable[I] :=@func420;
+      421: fIdentFuncTable[I] :=@func421;
+      424: fIdentFuncTable[I] :=@func424;
+      425: fIdentFuncTable[I] :=@func425;
+      426: fIdentFuncTable[I] :=@func426;
+      428: fIdentFuncTable[I] :=@func428;
+      430: fIdentFuncTable[I] :=@func430;
+      431: fIdentFuncTable[I] :=@func431;
+      432: fIdentFuncTable[I] :=@func432;
+      433: fIdentFuncTable[I] :=@func433;
+      434: fIdentFuncTable[I] :=@func434;
+      436: fIdentFuncTable[I] :=@func436;
+      437: fIdentFuncTable[I] :=@func437;
+      438: fIdentFuncTable[I] :=@func438;
+      439: fIdentFuncTable[I] :=@func439;
+      440: fIdentFuncTable[I] :=@func440;
+      441: fIdentFuncTable[I] :=@func441;
+      442: fIdentFuncTable[I] :=@func442;
+      444: fIdentFuncTable[I] :=@func444;
+      445: fIdentFuncTable[I] :=@func445;
+      447: fIdentFuncTable[I] :=@func447;
+      448: fIdentFuncTable[I] :=@func448;
+      456: fIdentFuncTable[I] :=@func456;
+      458: fIdentFuncTable[I] :=@func458;
+      470: fIdentFuncTable[I] :=@func470;
+      477: fIdentFuncTable[I] :=@func477;
+      502: fIdentFuncTable[I] :=@func502;
+      522: fIdentFuncTable[I] :=@func522;
+      523: fIdentFuncTable[I] :=@func523;
+      525: fIdentFuncTable[I] :=@func525;
+      527: fIdentFuncTable[I] :=@func527;
+      530: fIdentFuncTable[I] :=@func530;
+      531: fIdentFuncTable[I] :=@func531;
+      534: fIdentFuncTable[I] :=@func534;
+      535: fIdentFuncTable[I] :=@func535;
+      536: fIdentFuncTable[I] :=@func536;
+      537: fIdentFuncTable[I] :=@func537;
+      539: fIdentFuncTable[I] :=@func539;
+      542: fIdentFuncTable[I] :=@func542;
+      543: fIdentFuncTable[I] :=@func543;
+      545: fIdentFuncTable[I] :=@func545;
+      546: fIdentFuncTable[I] :=@func546;
+      547: fIdentFuncTable[I] :=@func547;
+      548: fIdentFuncTable[I] :=@func548;
+      549: fIdentFuncTable[I] :=@func549;
+      552: fIdentFuncTable[I] :=@func552;
+      555: fIdentFuncTable[I] :=@func555;
+      556: fIdentFuncTable[I] :=@func556;
+      557: fIdentFuncTable[I] :=@func557;
+      562: fIdentFuncTable[I] :=@func562;
+      569: fIdentFuncTable[I] :=@func569;
+      570: fIdentFuncTable[I] :=@func570;
+      622: fIdentFuncTable[I] :=@func622;
+      624: fIdentFuncTable[I] :=@func624;
+      627: fIdentFuncTable[I] :=@func627;
+      630: fIdentFuncTable[I] :=@func630;
+      632: fIdentFuncTable[I] :=@func632;
+      637: fIdentFuncTable[I] :=@func637;
+      640: fIdentFuncTable[I] :=@func640;
+      642: fIdentFuncTable[I] :=@func642;
+      643: fIdentFuncTable[I] :=@func643;
+      645: fIdentFuncTable[I] :=@func645;
+      647: fIdentFuncTable[I] :=@func647;
+      648: fIdentFuncTable[I] :=@func648;
+      649: fIdentFuncTable[I] :=@func649;
+      650: fIdentFuncTable[I] :=@func650;
+      651: fIdentFuncTable[I] :=@func651;
+      652: fIdentFuncTable[I] :=@func652;
+      655: fIdentFuncTable[I] := @func655;
+      656: fIdentFuncTable[I] := @func656;
+      657: fIdentFuncTable[I] := @func657;
+      658: fIdentFuncTable[I] := @func658;
+      665: fIdentFuncTable[I] := @func665;
+      666: fIdentFuncTable[I] := @func666;
+      667: fIdentFuncTable[I] := @func667;
+      672: fIdentFuncTable[I] := @func672;
+      675: fIdentFuncTable[I] := @func675;
+      677: fIdentFuncTable[I] := @func677;
+      687: fIdentFuncTable[I] := @func687;
+      688: fIdentFuncTable[I] := @func688;
+      716: fIdentFuncTable[I] := @func716;
+      719: fIdentFuncTable[I] := @func719;
+      727: fIdentFuncTable[I] := @func727;
+      728: fIdentFuncTable[I] := @func728;
+      731: fIdentFuncTable[I] := @func731;
+      734: fIdentFuncTable[I] := @func734;
+      740: fIdentFuncTable[I] := @func740;
+      741: fIdentFuncTable[I] := @func741;
+      743: fIdentFuncTable[I] := @func743;
+      746: fIdentFuncTable[I] := @func746;
+      749: fIdentFuncTable[I] := @func749;
+      750: fIdentFuncTable[I] := @func750;
+      752: fIdentFuncTable[I] := @func752;
+      753: fIdentFuncTable[I] := @func753;
+      754: fIdentFuncTable[I] := @func754;
+      759: fIdentFuncTable[I] := @func759;
+      761: fIdentFuncTable[I] := @func761;
+      762: fIdentFuncTable[I] := @func762;
+      763: fIdentFuncTable[I] := @func763;
+      764: fIdentFuncTable[I] := @func764;
+      765: fIdentFuncTable[I] := @func765;
+      768: fIdentFuncTable[I] := @func768;
+      769: fIdentFuncTable[I] := @func769;
+      773: fIdentFuncTable[I] := @func773;
+      774: fIdentFuncTable[I] := @func774;
+      775: fIdentFuncTable[I] := @func775;
+      815: fIdentFuncTable[I] := @func815;
+      821: fIdentFuncTable[I] := @func821;
+      841: fIdentFuncTable[I] := @func841;
+      842: fIdentFuncTable[I] := @func842;
+      845: fIdentFuncTable[I] := @func845;
+      853: fIdentFuncTable[I] := @func853;
+      855: fIdentFuncTable[I] := @func855;
+      857: fIdentFuncTable[I] := @func857;
+      860: fIdentFuncTable[I] := @func860;
+      864: fIdentFuncTable[I] := @func864;
+      867: fIdentFuncTable[I] := @func867;
+      868: fIdentFuncTable[I] := @func868;
+      869: fIdentFuncTable[I] := @func869;
+      870: fIdentFuncTable[I] := @func870;
+      873: fIdentFuncTable[I] := @func873;
+      874: fIdentFuncTable[I] := @func874;
+      876: fIdentFuncTable[I] := @func876;
+      877: fIdentFuncTable[I] := @func877;
+      878: fIdentFuncTable[I] := @func878;
+      881: fIdentFuncTable[I] := @func881;
+      883: fIdentFuncTable[I] := @func883;
+      890: fIdentFuncTable[I] := @func890;
+      892: fIdentFuncTable[I] := @func892;
+      906: fIdentFuncTable[I] := @func906;
+      933: fIdentFuncTable[I] := @func933;
+      954: fIdentFuncTable[I] := @func954;
+      956: fIdentFuncTable[I] := @func956;
+      965: fIdentFuncTable[I] := @func965;
+      968: fIdentFuncTable[I] := @func968;
+      974: fIdentFuncTable[I] := @func974;
+      978: fIdentFuncTable[I] := @func978;
+      981: fIdentFuncTable[I] := @func981;
+      985: fIdentFuncTable[I] := @func985;
+      986: fIdentFuncTable[I] := @func986;
+      988: fIdentFuncTable[I] := @func988;
+      1056: fIdentFuncTable[I] := @func1056;
+      1077: fIdentFuncTable[I] := @func1077;
+      1079: fIdentFuncTable[I] := @func1079;
+      1084: fIdentFuncTable[I] := @func1084;
+      1086: fIdentFuncTable[I] := @func1086;
+      1091: fIdentFuncTable[I] := @func1091;
+      1093: fIdentFuncTable[I] := @func1093;
+      1095: fIdentFuncTable[I] := @func1095;
+      1103: fIdentFuncTable[I] := @func1103;
+      1105: fIdentFuncTable[I] := @func1105;
+      1107: fIdentFuncTable[I] := @func1107;
+      1136: fIdentFuncTable[I] := @func1136;
+      1158: fIdentFuncTable[I] := @func1158;
+      1165: fIdentFuncTable[I] := @func1165;
+      1169: fIdentFuncTable[I] := @func1169;
+      1172: fIdentFuncTable[I] := @func1172;
+      1176: fIdentFuncTable[I] := @func1176;
+      1202: fIdentFuncTable[I] := @func1202;
+      1211: fIdentFuncTable[I] := @func1211;
+      1215: fIdentFuncTable[I] := @func1215;
+      1218: fIdentFuncTable[I] := @func1218;
+      1223: fIdentFuncTable[I] := @func1223;
+      1230: fIdentFuncTable[I] := @func1230;
+      1273: fIdentFuncTable[I] := @func1273;
+      1277: fIdentFuncTable[I] := @func1277;
+      1283: fIdentFuncTable[I] := @func1283;
+      1327: fIdentFuncTable[I] := @func1327;
+      1343: fIdentFuncTable[I] := @func1343;
+      1361: fIdentFuncTable[I] := @func1361;
+      1379: fIdentFuncTable[I] := @func1379;
+      1396: fIdentFuncTable[I] := @func1396;
+      1402: fIdentFuncTable[I] := @func1402;
+      1404: fIdentFuncTable[I] := @func1404;
+      1409: fIdentFuncTable[I] := @func1409;
+      1421: fIdentFuncTable[I] := @func1421;
+      1425: fIdentFuncTable[I] := @func1425;
+      1440: fIdentFuncTable[I] := @func1440;
+      1520: fIdentFuncTable[I] := @func1520;
+      1523: fIdentFuncTable[I] := @func1523;
+      1673: fIdentFuncTable[I] := @func1673;
+      1752: fIdentFuncTable[I] := @func1752;
+      1762: fIdentFuncTable[I] := @func1762;
+      1768: fIdentFuncTable[I] := @func1768;
+      2167: fIdentFuncTable[I] := @func2167;
+    else fIdentFuncTable[I] := @AltFunc;
     end;
 end;
 
@@ -1959,7 +1949,7 @@
   fToIdent := MayBe;
   HashKey := KeyHash(MayBe);
   if HashKey < 2168 then
-    Result := fIdentFuncTable[HashKey]{$IFDEF FPC}(){$ENDIF}
+    Result := fIdentFuncTable[HashKey]()
   else
     Result := tkIdentifier;
 end;
@@ -1970,32 +1960,32 @@
 begin
   for I := #0 to #255 do
     case I of
-      '&': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AndSymbolProc;
-      #13: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
-      ':': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}ColonProc;
-      '#': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CommentProc;
-      '=': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}EqualProc;
-      '>': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}GreaterProc;
+      '&': fProcTable[I] := @AndSymbolProc;
+      #13: fProcTable[I] := @CRProc;
+      ':': fProcTable[I] := @ColonProc;
+      '#': fProcTable[I] := @CommentProc;
+      '=': fProcTable[I] := @EqualProc;
+      '>': fProcTable[I] := @GreaterProc;
       '%', '@', '$', 'A'..'Z', 'a'..'z', '_':
-           fProcTable[I] := {$IFDEF FPC}@{$ENDIF}IdentProc;
-      #10: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
-      '<': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LowerProc;
-      '-': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MinusProc;
-      '!': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NotSymbolProc;
-      #0: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
-      '0'..'9', '.': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NumberProc;
-      '|': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}OrSymbolProc;
-      '+': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PlusProc;
-      '/': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SlashProc;
-      #1..#9, #11, #12, #14..#32: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
-      '*': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StarProc;
-      #34: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StringInterpProc;
-      #39: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StringLiteralProc;
-      '^': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}XOrSymbolProc;
+           fProcTable[I] := @IdentProc;
+      #10: fProcTable[I] := @LFProc;
+      '<': fProcTable[I] := @LowerProc;
+      '-': fProcTable[I] := @MinusProc;
+      '!': fProcTable[I] := @NotSymbolProc;
+      #0: fProcTable[I] := @NullProc;
+      '0'..'9', '.': fProcTable[I] := @NumberProc;
+      '|': fProcTable[I] := @OrSymbolProc;
+      '+': fProcTable[I] := @PlusProc;
+      '/': fProcTable[I] := @SlashProc;
+      #1..#9, #11, #12, #14..#32: fProcTable[I] := @SpaceProc;
+      '*': fProcTable[I] := @StarProc;
+      #34: fProcTable[I] := @StringInterpProc;
+      #39: fProcTable[I] := @StringLiteralProc;
+      '^': fProcTable[I] := @XOrSymbolProc;
       '(', ')', '[', ']', '\', '{', '}', ',', ';', '?', '~':
-        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SymbolProc;
+        fProcTable[I] := @SymbolProc;
     else
-      fProcTable[I] := {$IFDEF FPC}@{$ENDIF}UnknownProc;
+      fProcTable[I] := @UnknownProc;
     end;
 end;
 
@@ -2029,13 +2019,13 @@
   fVariableAttri := TSynHighlighterAttributes.Create(SYNS_AttrVariable, SYNS_XML_AttrVariable);
   fVariableAttri.Style := [fsBold];
   AddAttribute(fVariableAttri);
-  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
+  SetAttributesOnChange(@DefHighlightChange);
   InitIdent;
   MakeMethodTables;
   fDefaultFilter := SYNS_FilterPerl;
 end; { Create }
 
-procedure TSynPerlSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
+procedure TSynPerlSyn.SetLine(const NewValue: String;
   LineNumber:Integer);
 begin
   inherited;
@@ -2505,17 +2495,15 @@
   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;
 
 procedure TSynPerlSyn.Next;
 begin
   fTokenPos := Run;
-  fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
+  fProcTable[fLine[Run]]();
 end;
 
 function TSynPerlSyn.GetDefaultAttribute(Index: integer): TSynHighlighterAttributes;
@@ -2546,14 +2534,12 @@
   SetString(Result, (FLine + fTokenPos), Len);
 end;
 
-{$IFDEF SYN_LAZARUS}
 procedure TSynPerlSyn.GetTokenEx(out TokenStart: PChar;
   out TokenLength: integer);
 begin
   TokenLength:=Run-fTokenPos;
   TokenStart:=FLine + fTokenPos;
 end;
-{$ENDIF}
 
 function TSynPerlSyn.GetTokenID: TtkTokenKind;
 begin
Index: synhighlighterphp.pas
===================================================================
--- synhighlighterphp.pas	(revision 37490)
+++ synhighlighterphp.pas	(working copy)
@@ -42,9 +42,7 @@
 The SynHighlighterPHP unit provides SynEdit with a PHP syntax highlighter.
 Thanks to Martin Waldenburg.
 }
-{$IFNDEF QSYNHIGHLIGHTERPHP}
 unit SynHighlighterPHP;
-{$ENDIF}
 
 {$I SynEdit.inc}
 
@@ -52,21 +50,10 @@
 
 uses
   SysUtils, Classes,
-  {$IFDEF SYN_CLX}
-  Qt, QControls, QGraphics,
-  QSynEditTypes,
-  QSynEditHighlighter,
-  {$ELSE}
-  {$IFDEF SYN_LAZARUS}
   LCLIntf, LCLType,
-  {$ELSE}
-  Windows, Messages, Registry,
-  {$ENDIF}
   Controls, Graphics,
   SynEditTypes, SynEditHighlighter;
-  {$ENDIF}
 
-
 type
   TtkTokenKind = (tkComment, tkIdentifier, tkInvalidSymbol, tkKey, tkNull,
     tkNumber, tkSpace, tkString, tkSymbol, tkUnknown, tkVariable);
@@ -83,9 +70,7 @@
   private
     fRange: TRangeState;
     fLine: PChar;
-    {$IFDEF SYN_LAZARUS}
     fLineLen: integer;
-    {$ENDIF}
     fLineNumber: Integer;
     fProcTable: array[#0..#255] of TProcTableProc;
     Run: LongInt;
@@ -206,11 +191,9 @@
     function GetEol: Boolean; override;
     function GetRange: Pointer; override;
     function GetTokenID: TtkTokenKind;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer); override;
+    procedure SetLine(const NewValue: String; LineNumber: Integer); override;
     function GetToken: String; override;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
-    {$ENDIF}
 
     function GetTokenAttribute: TSynHighlighterAttributes; override;
     function GetTokenKind: integer; override;
@@ -241,11 +224,7 @@
 implementation
 
 uses
-{$IFDEF SYN_CLX}
-  QSynEditStrConst;
-{$ELSE}
   SynEditStrConst;
-{$ENDIF}
 
 var
   Identifiers: array[#0..#255] of ByteBool;
@@ -277,55 +256,55 @@
 begin
   pF := PIdentFuncTableFunc(@fIdentFuncTable);
   for I := Low(fIdentFuncTable) to High(fIdentFuncTable) do begin
-    pF^ := {$IFDEF FPC}@{$ENDIF}AltFunc;
+    pF^ := @AltFunc;
     Inc(pF);
   end;
-  fIdentFuncTable[15] := {$IFDEF FPC}@{$ENDIF}Func15;
-  fIdentFuncTable[18] := {$IFDEF FPC}@{$ENDIF}Func18;
-  fIdentFuncTable[19] := {$IFDEF FPC}@{$ENDIF}Func19;
-  fIdentFuncTable[28] := {$IFDEF FPC}@{$ENDIF}Func28;
-  fIdentFuncTable[31] := {$IFDEF FPC}@{$ENDIF}Func31;
-  fIdentFuncTable[33] := {$IFDEF FPC}@{$ENDIF}Func33;
-  fIdentFuncTable[36] := {$IFDEF FPC}@{$ENDIF}Func36;
-  fIdentFuncTable[37] := {$IFDEF FPC}@{$ENDIF}Func37;
-  fIdentFuncTable[38] := {$IFDEF FPC}@{$ENDIF}Func38;
-  fIdentFuncTable[39] := {$IFDEF FPC}@{$ENDIF}Func39;
-  fIdentFuncTable[40] := {$IFDEF FPC}@{$ENDIF}Func40;
-  fIdentFuncTable[41] := {$IFDEF FPC}@{$ENDIF}Func41;
-  fIdentFuncTable[42] := {$IFDEF FPC}@{$ENDIF}Func42;
-  fIdentFuncTable[43] := {$IFDEF FPC}@{$ENDIF}Func43;
-  fIdentFuncTable[49] := {$IFDEF FPC}@{$ENDIF}Func49;
-  fIdentFuncTable[54] := {$IFDEF FPC}@{$ENDIF}Func54;
-  fIdentFuncTable[55] := {$IFDEF FPC}@{$ENDIF}Func55;
-  fIdentFuncTable[56] := {$IFDEF FPC}@{$ENDIF}Func56;
-  fIdentFuncTable[57] := {$IFDEF FPC}@{$ENDIF}Func57;
-  fIdentFuncTable[58] := {$IFDEF FPC}@{$ENDIF}Func58;
-  fIdentFuncTable[59] := {$IFDEF FPC}@{$ENDIF}Func59;
-  fIdentFuncTable[60] := {$IFDEF FPC}@{$ENDIF}Func60;
-  fIdentFuncTable[62] := {$IFDEF FPC}@{$ENDIF}Func62;
-  fIdentFuncTable[63] := {$IFDEF FPC}@{$ENDIF}Func63;
-  fIdentFuncTable[64] := {$IFDEF FPC}@{$ENDIF}Func64;
-  fIdentFuncTable[68] := {$IFDEF FPC}@{$ENDIF}Func68;
-  fIdentFuncTable[69] := {$IFDEF FPC}@{$ENDIF}Func69;
-  fIdentFuncTable[71] := {$IFDEF FPC}@{$ENDIF}Func71;
-  fIdentFuncTable[72] := {$IFDEF FPC}@{$ENDIF}Func72;
-  fIdentFuncTable[77] := {$IFDEF FPC}@{$ENDIF}Func77;
-  fIdentFuncTable[78] := {$IFDEF FPC}@{$ENDIF}Func78;
-  fIdentFuncTable[79] := {$IFDEF FPC}@{$ENDIF}Func79;
-  fIdentFuncTable[80] := {$IFDEF FPC}@{$ENDIF}Func80;
-  fIdentFuncTable[82] := {$IFDEF FPC}@{$ENDIF}Func82;
-  fIdentFuncTable[87] := {$IFDEF FPC}@{$ENDIF}Func87;
-  fIdentFuncTable[91] := {$IFDEF FPC}@{$ENDIF}Func91;
-  fIdentFuncTable[93] := {$IFDEF FPC}@{$ENDIF}Func93;
-  fIdentFuncTable[96] := {$IFDEF FPC}@{$ENDIF}Func96;
-  fIdentFuncTable[101] := {$IFDEF FPC}@{$ENDIF}Func101;
-  fIdentFuncTable[102] := {$IFDEF FPC}@{$ENDIF}Func102;
-  fIdentFuncTable[105] := {$IFDEF FPC}@{$ENDIF}Func105;
-  fIdentFuncTable[151] := {$IFDEF FPC}@{$ENDIF}Func151;
-  fIdentFuncTable[156] := {$IFDEF FPC}@{$ENDIF}Func156;
-  fIdentFuncTable[164] := {$IFDEF FPC}@{$ENDIF}Func164;
-  fIdentFuncTable[177] := {$IFDEF FPC}@{$ENDIF}Func177;
-  fIdentFuncTable[206] := {$IFDEF FPC}@{$ENDIF}Func206;
+  fIdentFuncTable[15] := @Func15;
+  fIdentFuncTable[18] := @Func18;
+  fIdentFuncTable[19] := @Func19;
+  fIdentFuncTable[28] := @Func28;
+  fIdentFuncTable[31] := @Func31;
+  fIdentFuncTable[33] := @Func33;
+  fIdentFuncTable[36] := @Func36;
+  fIdentFuncTable[37] := @Func37;
+  fIdentFuncTable[38] := @Func38;
+  fIdentFuncTable[39] := @Func39;
+  fIdentFuncTable[40] := @Func40;
+  fIdentFuncTable[41] := @Func41;
+  fIdentFuncTable[42] := @Func42;
+  fIdentFuncTable[43] := @Func43;
+  fIdentFuncTable[49] := @Func49;
+  fIdentFuncTable[54] := @Func54;
+  fIdentFuncTable[55] := @Func55;
+  fIdentFuncTable[56] := @Func56;
+  fIdentFuncTable[57] := @Func57;
+  fIdentFuncTable[58] := @Func58;
+  fIdentFuncTable[59] := @Func59;
+  fIdentFuncTable[60] := @Func60;
+  fIdentFuncTable[62] := @Func62;
+  fIdentFuncTable[63] := @Func63;
+  fIdentFuncTable[64] := @Func64;
+  fIdentFuncTable[68] := @Func68;
+  fIdentFuncTable[69] := @Func69;
+  fIdentFuncTable[71] := @Func71;
+  fIdentFuncTable[72] := @Func72;
+  fIdentFuncTable[77] := @Func77;
+  fIdentFuncTable[78] := @Func78;
+  fIdentFuncTable[79] := @Func79;
+  fIdentFuncTable[80] := @Func80;
+  fIdentFuncTable[82] := @Func82;
+  fIdentFuncTable[87] := @Func87;
+  fIdentFuncTable[91] := @Func91;
+  fIdentFuncTable[93] := @Func93;
+  fIdentFuncTable[96] := @Func96;
+  fIdentFuncTable[101] := @Func101;
+  fIdentFuncTable[102] := @Func102;
+  fIdentFuncTable[105] := @Func105;
+  fIdentFuncTable[151] := @Func151;
+  fIdentFuncTable[156] := @Func156;
+  fIdentFuncTable[164] := @Func164;
+  fIdentFuncTable[177] := @Func177;
+  fIdentFuncTable[206] := @Func206;
 end;
 
 function TSynPHPSyn.KeyHash(ToHash: PChar): Integer;
@@ -611,7 +590,7 @@
   fToIdent := MayBe;
   HashKey := KeyHash(MayBe);
   if HashKey < 207 then
-    Result := fIdentFuncTable[HashKey]{$IFDEF FPC}(){$ENDIF}
+    Result := fIdentFuncTable[HashKey]()
   else
     Result := tkIdentifier;
 end;
@@ -622,42 +601,42 @@
 begin
   for I := #0 to #255 do
     case I of
-      '&': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AndSymbolProc;
-      #39: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}String39Proc; // single quote
-      '@': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AtSymbolProc;
-      '}': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceCloseProc;
-      '{': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceOpenProc;
-      #13: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
-      ':': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}ColonProc;
-      ',': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CommaProc;
-      '=': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}EqualProc;
-      '>': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}GreaterProc;
-      'A'..'Z', 'a'..'z', '_': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}IdentProc;
-      #10: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
-      '<': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LowerProc;
-      '-': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MinusProc;
-      '*': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MultiplyProc;
-      '!': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NotSymbolProc;
-      #0: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
-      '0'..'9': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NumberProc;
-      '|': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}OrSymbolProc;
-      '+': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PlusProc;
-      '.': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PointProc;
-      '#': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PoundProc;
-      '?': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}QuestionProc;
-      '%': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}RemainderSymbolProc;
-      ')': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}RoundCloseProc;
-      '(': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}RoundOpenProc;
-      ';': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SemiColonProc;
-      '/': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SlashProc;
-      #1..#9, #11, #12, #14..#32: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
-      ']': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SquareCloseProc;
-      '[': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SquareOpenProc;
-      #34: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}String34Proc; // double quote
-      '~': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}TildeProc;
-      '$': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}VariableProc;
-      '^': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}XOrSymbolProc;
-      else fProcTable[I] := {$IFDEF FPC}@{$ENDIF}UnknownProc;
+      '&': fProcTable[I] := @AndSymbolProc;
+      #39: fProcTable[I] := @String39Proc; // single quote
+      '@': fProcTable[I] := @AtSymbolProc;
+      '}': fProcTable[I] := @BraceCloseProc;
+      '{': fProcTable[I] := @BraceOpenProc;
+      #13: fProcTable[I] := @CRProc;
+      ':': fProcTable[I] := @ColonProc;
+      ',': fProcTable[I] := @CommaProc;
+      '=': fProcTable[I] := @EqualProc;
+      '>': fProcTable[I] := @GreaterProc;
+      'A'..'Z', 'a'..'z', '_': fProcTable[I] := @IdentProc;
+      #10: fProcTable[I] := @LFProc;
+      '<': fProcTable[I] := @LowerProc;
+      '-': fProcTable[I] := @MinusProc;
+      '*': fProcTable[I] := @MultiplyProc;
+      '!': fProcTable[I] := @NotSymbolProc;
+      #0: fProcTable[I] := @NullProc;
+      '0'..'9': fProcTable[I] := @NumberProc;
+      '|': fProcTable[I] := @OrSymbolProc;
+      '+': fProcTable[I] := @PlusProc;
+      '.': fProcTable[I] := @PointProc;
+      '#': fProcTable[I] := @PoundProc;
+      '?': fProcTable[I] := @QuestionProc;
+      '%': fProcTable[I] := @RemainderSymbolProc;
+      ')': fProcTable[I] := @RoundCloseProc;
+      '(': fProcTable[I] := @RoundOpenProc;
+      ';': fProcTable[I] := @SemiColonProc;
+      '/': fProcTable[I] := @SlashProc;
+      #1..#9, #11, #12, #14..#32: fProcTable[I] := @SpaceProc;
+      ']': fProcTable[I] := @SquareCloseProc;
+      '[': fProcTable[I] := @SquareOpenProc;
+      #34: fProcTable[I] := @String34Proc; // double quote
+      '~': fProcTable[I] := @TildeProc;
+      '$': fProcTable[I] := @VariableProc;
+      '^': fProcTable[I] := @XOrSymbolProc;
+      else fProcTable[I] := @UnknownProc;
     end;
 end;
 
@@ -686,20 +665,18 @@
   fVariableAttri := TSynHighlighterAttributes.Create(SYNS_AttrVariable, SYNS_XML_AttrVariable);
   AddAttribute(fVariableAttri);
 {end}                                                                           //mh 2000-01-14
-  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
+  SetAttributesOnChange(@DefHighlightChange);
   InitIdent;
   MakeMethodTables;
   fDefaultFilter := SYNS_FilterPHP;
   fRange := rsUnknown;
 end;
 
-procedure TSynPHPSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer);
+procedure TSynPHPSyn.SetLine(const NewValue: String; LineNumber: Integer);
 begin
   inherited;
   fLine := PChar(NewValue);
-  {$IFDEF SYN_LAZARUS}
   fLineLen := length(NewValue);
-  {$ENDIF}
   Run := 0;
   fLineNumber := LineNumber;
   Next;
@@ -909,10 +886,8 @@
 procedure TSynPHPSyn.NullProc;
 begin
   fTokenID := tkNull;
-  {$IFDEF SYN_LAZARUS}
   if Run<fLineLen then
     inc(Run);
-  {$ENDIF}
 end;
 
 procedure TSynPHPSyn.NumberProc;
@@ -1111,7 +1086,7 @@
 begin
   if (FLine[Run] in [#0, #10, #13]) and (fTokenPos = Run) then
   begin
-    fProcTable[ FLine[Run] ]{$IFDEF FPC}(){$ENDIF};
+    fProcTable[ FLine[Run] ]();
     Exit;
   end;
   fTokenID := tkString;
@@ -1274,10 +1249,8 @@
 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;
 
@@ -1341,7 +1314,7 @@
     rsVarExpansion: VarExpansionProc;
     else begin
       fRange := rsUnknown;
-      fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
+      fProcTable[fLine[Run]]();
     end;
   end;
 end;
@@ -1426,13 +1399,11 @@
   Result := TSynValidStringChars;
 end;
 
-{$IFDEF SYN_LAZARUS}
 procedure TSynPHPSyn.GetTokenEx(out TokenStart: PChar; out TokenLength: integer);
 begin
   TokenLength:=Run-fTokenPos;
   TokenStart:=FLine + fTokenPos;
 end;
-{$ENDIF}
 
 class function TSynPHPSyn.GetLanguageName: string;
 begin
Index: synhighlighterpo.pp
===================================================================
--- synhighlighterpo.pp	(revision 37490)
+++ synhighlighterpo.pp	(working copy)
@@ -34,11 +34,7 @@
 
 uses
   Classes, SysUtils,
-  {$IFDEF SYN_CLX}
-  QGraphics,
-  {$ELSE}
   Graphics,
-  {$ENDIF}
   SynEditTypes, SynEditHighlighter, SynEditStrConst;
 
 type
@@ -228,10 +224,8 @@
     IdentProc
   else begin
     inc(Run);
-    {$IFDEF SYN_LAZARUS}
     while (fLine[Run] in [#128..#191]) OR // continued utf8 subcode
      ((fLine[Run]<>#0) and (fProcTable[fLine[Run]] = @TextProc)) do inc(Run);
-    {$ENDIF}
     fTokenID := tkText;
   end;
 end;
Index: synhighlighterposition.pas
===================================================================
--- synhighlighterposition.pas	(revision 37490)
+++ synhighlighterposition.pas	(working copy)
@@ -75,15 +75,13 @@
     function GetEol: Boolean; override;
     function GetRange: Pointer; override;
     function GetToken: string; override;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
-    {$ENDIF}
     function GetTokenAttribute: TSynHighlighterAttributes; override;
     function GetTokenKind: integer; override;
     function GetTokenPos: Integer; override;
     procedure Next; override;
     procedure ResetRange; override;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string;
+    procedure SetLine(const NewValue: string;
       LineNumber:Integer); override;
     procedure SetRange(Value: Pointer); override;
     function UseUserSettings(settingIndex: integer): boolean; override;
@@ -157,7 +155,7 @@
   fCopiedAttributes:=TList.Create;
   fTextAttri := TSynHighlighterAttributes.Create(SYNS_AttrText, SYNS_XML_AttrText);
   AddAttribute(fTextAttri);
-  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
+  SetAttributesOnChange(@DefHighlightChange);
 
   fDefaultFilter := '';
 end;
@@ -190,7 +188,6 @@
   System.Move(fLine[fTokenPos],Result[1],Len);
 end;
 
-{$IFDEF SYN_LAZARUS}
 procedure TSynPositionHighlighter.GetTokenEx(out TokenStart: PChar;
   out TokenLength: integer);
 begin
@@ -201,7 +198,6 @@
     TokenStart:=nil;
   end;
 end;
-{$ENDIF}
 
 function TSynPositionHighlighter.GetTokenAttribute: TSynHighlighterAttributes;
 var
Index: synhighlighterpython.pas
===================================================================
--- synhighlighterpython.pas	(revision 37490)
+++ synhighlighterpython.pas	(working copy)
@@ -42,32 +42,17 @@
 @lastmod(2003-02-13)
 The SynHighlighterPython implements a highlighter for Python for the SynEdit projects.
 }
-{$IFNDEF QSYNHIGHLIGHTERPYTHON}
 unit SynHighlighterPython;
-{$ENDIF}
 
 {$I SynEdit.inc}
 
 interface
 
 uses
-{$IFDEF SYN_COMPILER_6_UP}
   IniFiles, //THashedStringList
-{$ENDIF}
-{$IFDEF SYN_CLX}
-  QGraphics,
-  QSynEditHighlighter,
-  QSynEditTypes,
-{$ELSE}
-  {$IFDEF SYN_LAZARUS}
   LCLIntf, LCLType,
-  {$ENDIF}
-  Graphics,
-  SynEditHighlighter,
-  SynEditTypes,
-{$ENDIF}
-  SysUtils,
-  Classes;
+  SynEditHighlighter, SynEditTypes,
+  Graphics, SysUtils, Classes;
 
 const
   ALPHA_CHARS = ['_', 'a'..'z', 'A'..'Z'];
@@ -151,7 +136,7 @@
     function GetEol: Boolean; override;
     function GetRange: Pointer; override;
     function GetTokenID: TtkTokenKind;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string;
+    procedure SetLine(const NewValue: string;
                       LineNumber: Integer); override;
     function GetToken: string; override;
     function GetTokenAttribute: TSynHighlighterAttributes; override;
@@ -161,9 +146,7 @@
     property IdentChars;
     procedure SetRange(Value: Pointer); override;
     procedure ResetRange; override;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
-    {$ENDIF}
   published
     property CommentAttri: TSynHighlighterAttributes read fCommentAttri
     write fCommentAttri;
@@ -197,11 +180,7 @@
 implementation
 
 uses
-{$IFDEF SYN_CLX}
-  QSynEditStrConst;
-{$ELSE}
   SynEditStrConst;
-{$ENDIF}
 
 var
   GlobalKeywords: TStringList;
@@ -325,10 +304,10 @@
 
     for f := 1 to KEYWORDCOUNT do
       GlobalKeywords.AddObject (KEYWORDSIdents[f],
-        {$IFDEF SYN_LAZARUS}TObject{$ELSE}Pointer{$ENDIF} (Ord(tkKey)));
+        TObject(Ord(tkKey)));
     for f := 1 to NONKEYWORDCOUNT do
       GlobalKeywords.AddObject (NONKEYWORDS[f],
-        {$IFDEF SYN_LAZARUS}TObject{$ELSE}Pointer{$ENDIF}(Ord(tkNonKeyword)));
+        TObject(Ord(tkNonKeyword)));
   end; // if
   Result := GlobalKeywords;
 end;
@@ -350,17 +329,7 @@
 
   // Check to see if it is a keyword
   SetString (s, fToIdent, fStringLen);
-  {$IFDEF SYN_COMPILER_6_UP}
   index := FKeywords.IndexOf (s);
-  {$ELSE}
-  if FKeywords.Find (s, index) then begin
-    // TStringList is not case sensitive!
-    if s <> FKeywords[index] then
-      index := -1;
-  end else begin
-    index := -1;
-  end; // if
-  {$ENDIF}
 
   if index <> -1 then
     Result := TtkTokenKind (PtrInt(FKeywords.Objects[index]))
@@ -386,23 +355,23 @@
       '&', '}', '{', ':', ',', ']', '[', '*', '`',
       '^', ')', '(', ';', '/', '=', '-', '+', '!', '\',
       '%', '|', '~' :
-        fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      #13: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}CRProc;
-      '#': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}CommentProc;
-      '>': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}GreaterProc;
-      'A'..'Q', 'S', 'T', 'V'..'Z', 'a'..'q', 's', 't', 'v'..'z', '_': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}IdentProc;
-      #10: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LFProc;
-      '<': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LowerProc;
-      #0: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NullProc;
-      '.', '0'..'9': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NumberProc;
+        fProcTable[I] := @SymbolProc;
+      #13: fProcTable[I] := @CRProc;
+      '#': fProcTable[I] := @CommentProc;
+      '>': fProcTable[I] := @GreaterProc;
+      'A'..'Q', 'S', 'T', 'V'..'Z', 'a'..'q', 's', 't', 'v'..'z', '_': fProcTable[I] := @IdentProc;
+      #10: fProcTable[I] := @LFProc;
+      '<': fProcTable[I] := @LowerProc;
+      #0: fProcTable[I] := @NullProc;
+      '.', '0'..'9': fProcTable[I] := @NumberProc;
       #1..#9, #11, #12, #14..#32:
-        fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SpaceProc;
-      'r', 'R': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}PreStringProc;
-      'u', 'U': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}UnicodeStringProc;
-      '''': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}StringProc;
-      '"': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}String2Proc;
+        fProcTable[I] := @SpaceProc;
+      'r', 'R': fProcTable[I] := @PreStringProc;
+      'u', 'U': fProcTable[I] := @UnicodeStringProc;
+      '''': fProcTable[I] := @StringProc;
+      '"': fProcTable[I] := @String2Proc;
     else
-      fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}UnknownProc;
+      fProcTable[I] := @UnknownProc;
     end;
 end;
 
@@ -410,15 +379,8 @@
 begin
   inherited Create(AOwner);
   
-  {$IFDEF SYN_COMPILER_6_UP}
   FKeywords := THashedStringList.Create;
   FKeywords.CaseSensitive := True;
-  {$ELSE}
-  // Older compilers do not ave hashed string list - so use less efficient
-  //   TStringList instead - but keep it sorted
-  FKeywords := TStringList.Create;
-  FKeywords.Sorted := True; 
-  {$ENDIF}
   FKeywords.Duplicates := dupError;
   FKeywords.Assign (GetKeywordIdentifiers);
 
@@ -464,7 +426,7 @@
   fErrorAttri := TSynHighlighterAttributes.Create(SYNS_AttrSyntaxError, SYNS_XML_AttrSyntaxError);
   fErrorAttri.Foreground := clRed;
   AddAttribute(fErrorAttri);
-  SetAttributesOnChange({$IFDEF SYN_LAZARUS}@{$ENDIF}DefHighlightChange);
+  SetAttributesOnChange(@DefHighlightChange);
   MakeMethodTables;
   fDefaultFilter := SYNS_FilterPython;
 end; { Create }
@@ -476,7 +438,7 @@
   inherited;
 end;
 
-procedure TSynPythonSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string;
+procedure TSynPythonSyn.SetLine(const NewValue: string;
   LineNumber: Integer);
 begin
   inherited;
@@ -486,14 +448,12 @@
   Next;
 end; { SetLine }
 
-{$IFDEF SYN_LAZARUS}
 procedure TSynPythonSyn.GetTokenEx(out TokenStart: PChar;
   out TokenLength: integer);
 begin
   TokenLength:=Run-fTokenPos;
   TokenStart:=FLine + fTokenPos;
 end;
-{$ENDIF}
 
 procedure TSynPythonSyn.SymbolProc;
 begin
@@ -1144,10 +1104,8 @@
 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;
 
Index: synhighlightersql.pas
===================================================================
--- synhighlightersql.pas	(revision 37490)
+++ synhighlightersql.pas	(working copy)
@@ -45,37 +45,19 @@
 The SynHighlighterSQL implements a highlighter for SQL for the SynEdit projects.
 Different SQL dialects can be selected via the Dialect property.
 }
-{$IFNDEF QSYNHIGHLIGHTERSQL}
 unit SynHighlighterSQL;
-{$ENDIF}
 
-
 {$I SynEdit.inc}
 
 interface
 
 uses
   SysUtils, Classes,
-  {$IFDEF SYN_CLX}
-  Types,
-  QGraphics,
-  QSynEditTypes,
-  QSynEditHighlighter,
-  QSynHighlighterHashEntries,
-  {$ELSE}
-  {$IFDEF SYN_LAZARUS}
   LCLIntf, LCLType,
-  {$ELSE}
-  Windows, Messages, Registry,
-  {$ENDIF}
   Controls, Graphics,
   SynEditTypes, SynEditHighlighter,
   SynHighlighterHashEntries;
-  {$ENDIF}
 
-  
-  
-
 type
   TtkTokenKind = (tkComment, tkDatatype, tkDefaultPackage, tkException,         // DJLP 2000-08-11
     tkFunction, tkIdentifier, tkKey, tkNull, tkNumber, tkSpace, tkPLSQL,        // DJLP 2000-08-11
@@ -172,9 +154,7 @@
     function GetEol: Boolean; override;
     function GetRange: Pointer; override;
     function GetToken: string; override;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
-    {$ENDIF}
 
     function GetTokenAttribute: TSynHighlighterAttributes; override;
     function GetTokenID: TtkTokenKind;
@@ -183,7 +163,7 @@
     function IsKeyword(const AKeyword: string): boolean; override;              // DJLP 2000-08-09
     procedure Next; override;
     procedure ResetRange; override;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string; LineNumber: Integer); override;
+    procedure SetLine(const NewValue: string; LineNumber: Integer); override;
     procedure SetRange(Value: Pointer); override;
   published
     property CommentAttri: TSynHighlighterAttributes read fCommentAttri
@@ -222,11 +202,7 @@
 implementation
 
 uses
-{$IFDEF SYN_CLX}
-  QSynEditStrConst;
-{$ELSE}
   SynEditStrConst;
-{$ENDIF}
 
 var
   Identifiers: TIdentifierTable;
@@ -943,15 +919,7 @@
   Start := ToHash;
   while fIdentifiersPtr^[ToHash^] do begin
   
-   {$IFDEF FPC}
-       Result := (2 * Result + fmHashTablePtr^[ToHash^]) and $FFFFFF;
-   {$ELSE}
-      {$IFOPT Q-}
-          Result := 2 * Result + fmHashTablePtr[ToHash^];
-      {$ELSE}
-          Result := (2 * Result + fmHashTablePtr[ToHash^]) and $FFFFFF;
-      {$ENDIF}
-   {$ENDIF}
+    Result := (2 * Result + fmHashTablePtr^[ToHash^]) and $FFFFFF;
     inc(ToHash);
   end;
   Result := Result and $FF; // 255
@@ -1004,33 +972,33 @@
 begin
   for I := #0 to #255 do
     case I of
-       #0: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
-      #10: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
-      #13: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
-      #39: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AsciiCharProc;
-      '=': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}EqualProc;
-      '>': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}GreaterProc;
-      '<': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LowerProc;
-      '-': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MinusProc;
-      '|': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}OrSymbolProc;
-      '+': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}PlusProc;
-      '/': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SlashProc;
-      '&': fProcTable[I] := {$IFDEF FPC}@{$ENDIF}AndSymbolProc;
-      #34: fProcTable[I] := {$IFDEF FPC}@{$ENDIF}StringProc;
+       #0: fProcTable[I] := @NullProc;
+      #10: fProcTable[I] := @LFProc;
+      #13: fProcTable[I] := @CRProc;
+      #39: fProcTable[I] := @AsciiCharProc;
+      '=': fProcTable[I] := @EqualProc;
+      '>': fProcTable[I] := @GreaterProc;
+      '<': fProcTable[I] := @LowerProc;
+      '-': fProcTable[I] := @MinusProc;
+      '|': fProcTable[I] := @OrSymbolProc;
+      '+': fProcTable[I] := @PlusProc;
+      '/': fProcTable[I] := @SlashProc;
+      '&': fProcTable[I] := @AndSymbolProc;
+      #34: fProcTable[I] := @StringProc;
       ':', '@':
-        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}VariableProc;
+        fProcTable[I] := @VariableProc;
       'A'..'Z', 'a'..'z', '_':
-        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}IdentProc;
+        fProcTable[I] := @IdentProc;
       '0'..'9':
-        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NumberProc;
+        fProcTable[I] := @NumberProc;
       #1..#9, #11, #12, #14..#32:
-        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
+        fProcTable[I] := @SpaceProc;
       '^', '%', '*', '!':
-        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SymbolAssignProc;
+        fProcTable[I] := @SymbolAssignProc;
       '{', '}', '.', ',', ';', '?', '(', ')', '[', ']', '~':
-        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SymbolProc;
+        fProcTable[I] := @SymbolProc;
       else
-        fProcTable[I] := {$IFDEF FPC}@{$ENDIF}UnknownProc;
+        fProcTable[I] := @UnknownProc;
     end;
 end;
 
@@ -1039,7 +1007,7 @@
   inherited Create(AOwner);
   fKeywords := TSynHashEntryList.Create;
   fTableNames := TStringList.Create;
-  TStringList(fTableNames).OnChange := {$IFDEF FPC}@{$ENDIF}TableNamesChanged;
+  TStringList(fTableNames).OnChange := @TableNamesChanged;
   fCommentAttri := TSynHighlighterAttributes.Create(SYNS_AttrComment, SYNS_XML_AttrComment);
   fCommentAttri.Style := [fsItalic];
   AddAttribute(fCommentAttri);
@@ -1085,7 +1053,7 @@
   AddAttribute(fTableNameAttri);
   fVariableAttri := TSynHighlighterAttributes.Create(SYNS_AttrVariable, SYNS_XML_AttrVariable);
   AddAttribute(fVariableAttri);
-  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
+  SetAttributesOnChange(@DefHighlightChange);
   MakeMethodTables;
   fDefaultFilter := SYNS_FilterSQL;
   fRange := rsUnknown;
@@ -1107,7 +1075,7 @@
     SQLDialect := TSynSQLSyn(Source).SQLDialect;
 end;
 
-procedure TSynSQLSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string; LineNumber: Integer);
+procedure TSynSQLSyn.SetLine(const NewValue: string; LineNumber: Integer);
 begin
   inherited;
   fLine := PChar(NewValue);
@@ -1367,10 +1335,8 @@
     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;
 end;
@@ -1424,7 +1390,7 @@
     rsString:
       AsciiCharProc;
   else
-    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
+    fProcTable[fLine[Run]]();
   end;
 end;
 
@@ -1461,13 +1427,12 @@
   Len := Run - fTokenPos;
   Setstring(Result, (FLine + fTokenPos), Len);
 end;
-{$IFDEF SYN_LAZARUS}
+
 procedure TSynSQLSyn.GetTokenEx(out TokenStart: PChar; out TokenLength: integer);
 begin
   TokenLength:=Run-fTokenPos;
   TokenStart:=FLine + fTokenPos;
 end;
-{$ENDIF}
 
 function TSynSQLSyn.GetTokenID: TtkTokenKind;
 begin
@@ -1589,63 +1554,63 @@
     sqlIngres:
       begin
         EnumerateKeywords(Ord(tkDatatype), IngresTypes, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
-        EnumerateKeywords(Ord(tkKey), IngresKW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
+        EnumerateKeywords(Ord(tkKey), IngresKW, IdentChars, @DoAddKeyword);
         EnumerateKeywords(Ord(tkFunction), IngresFunctions, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
       end;
     sqlInterbase6:
       begin
         EnumerateKeywords(Ord(tkDatatype), Interbase6Types, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
         EnumerateKeywords(Ord(tkFunction), Interbase6Functions, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
-        EnumerateKeywords(Ord(tkKey), Interbase6KW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
+        EnumerateKeywords(Ord(tkKey), Interbase6KW, IdentChars, @DoAddKeyword);
       end;
     sqlMSSQL7:
       begin
-        EnumerateKeywords(Ord(tkKey), MSSQL7KW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+        EnumerateKeywords(Ord(tkKey), MSSQL7KW, IdentChars, @DoAddKeyword);
         EnumerateKeywords(Ord(tkDatatype), MSSQL7Types, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
         EnumerateKeywords(Ord(tkFunction), MSSQL7Functions, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
       end;
     sqlMSSQL2K:
       begin
-        EnumerateKeywords(ord(tkKey), MSSQL2000KW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
-        EnumerateKeywords(ord(tkDataType), MSSQL2000Types, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
-        EnumerateKeywords(ord(tkFunction), MSSQL2000Functions, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+        EnumerateKeywords(ord(tkKey), MSSQL2000KW, IdentChars, @DoAddKeyword);
+        EnumerateKeywords(ord(tkDataType), MSSQL2000Types, IdentChars, @DoAddKeyword);
+        EnumerateKeywords(ord(tkFunction), MSSQL2000Functions, IdentChars, @DoAddKeyword);
       end;
     sqlMySql:
       begin
-        EnumerateKeywords(Ord(tkKey), MySqlKW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+        EnumerateKeywords(Ord(tkKey), MySqlKW, IdentChars, @DoAddKeyword);
         EnumerateKeywords(Ord(tkDatatype), MySqlTypes, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
         EnumerateKeywords(Ord(tkFunction), MySqlFunctions, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
       end;
     sqlOracle:
       begin
-        EnumerateKeywords(Ord(tkKey), OracleKW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+        EnumerateKeywords(Ord(tkKey), OracleKW, IdentChars, @DoAddKeyword);
         EnumerateKeywords(Ord(tkDatatype), OracleTypes, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
         EnumerateKeywords(Ord(tkException), OracleExceptions, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
         EnumerateKeywords(Ord(tkFunction), OracleFunctions, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
         EnumerateKeywords(Ord(tkComment), OracleCommentKW, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
         EnumerateKeywords(Ord(tkDefaultPackage), OracleDefaultPackages,
-          IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          IdentChars, @DoAddKeyword);
         EnumerateKeywords(Ord(tkPLSQL), OraclePLSQLKW, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
         EnumerateKeywords(Ord(tkSQLPlus), OracleSQLPlusCommands, IdentChars,
-          {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+          @DoAddKeyword);
       end;
     sqlStandard:
-      EnumerateKeywords(Ord(tkKey), StandardKW, IdentChars + ['-'], {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+      EnumerateKeywords(Ord(tkKey), StandardKW, IdentChars + ['-'], @DoAddKeyword);
     sqlSybase:
-      EnumerateKeywords(Ord(tkKey), SybaseKW, IdentChars, {$IFDEF FPC}@{$ENDIF}DoAddKeyword);
+      EnumerateKeywords(Ord(tkKey), SybaseKW, IdentChars, @DoAddKeyword);
   end;
   PutTableNamesInKeywordList;
   DefHighlightChange(Self);
Index: synhighlightertex.pas
===================================================================
--- synhighlightertex.pas	(revision 37490)
+++ synhighlightertex.pas	(working copy)
@@ -34,9 +34,7 @@
 Known Issues:
 -------------------------------------------------------------------------------}
 
-{$IFNDEF QSYNHIGHLIGHTERTEX}
 unit SynHighlighterTeX;
-{$ENDIF}
 
 {$I SynEdit.inc}
 
@@ -44,23 +42,10 @@
 
 uses
   SysUtils, Classes,
-  {$IFDEF SYN_CLX}
-  Qt, QControls, QGraphics,
-  QSynEditTypes,
-  QSynEditHighlighter,
-  {$ELSE}
-  {$IFDEF SYN_LAZARUS}
   LCLProc, LCLIntf, LCLType,
-  {$ELSE}
-  Windows, Registry, Messages,
-  {$ENDIF}
   Controls, Graphics,
   SynEditTypes, SynEditHighlighter;
-  {$ENDIF}
 
-
-
-
 type
   TtkTokenKind = (tkBrace, tkBracket, tkNull, tkSpace, tkText, tkComment,
                   tkControlSequence, tkMathMode);
@@ -113,12 +98,10 @@
       override;
     function GetEol: Boolean; override;
     function GetTokenID: TtkTokenKind;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String;
+    procedure SetLine(const NewValue: String;
                       LineNumber:Integer); override;
     function GetToken: String; override;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
-    {$ENDIF}
 
     function GetTokenAttribute: TSynHighlighterAttributes; override;
     function GetTokenKind: integer; override;
@@ -144,11 +127,7 @@
 implementation
 
 uses
-{$IFDEF SYN_CLX}
-  QSynEditStrConst;
-{$ELSE}
   SynEditStrConst;
-{$ENDIF}
 
 procedure TSynTeXSyn.MakeMethodTables;
 var
@@ -156,19 +135,19 @@
 begin
   for i := #0 to #255 do
     case i of
-      #0                         : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}NullProc;
-      #10                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}LFProc;
-      #13                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CRProc;
-      #37                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}CommentProc;
-      #92                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}ControlSequenceProc;
-      #123                       : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceOpenProc;
-      #125                       : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BraceCloseProc;
-      #91                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BracketOpenProc;
-      #93                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}BracketCloseProc;
-      #1..#9, #11, #12, #14..#32 : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
-      #36                        : fProcTable[I] := {$IFDEF FPC}@{$ENDIF}MathmodeProc;
+      #0                         : fProcTable[I] := @NullProc;
+      #10                        : fProcTable[I] := @LFProc;
+      #13                        : fProcTable[I] := @CRProc;
+      #37                        : fProcTable[I] := @CommentProc;
+      #92                        : fProcTable[I] := @ControlSequenceProc;
+      #123                       : fProcTable[I] := @BraceOpenProc;
+      #125                       : fProcTable[I] := @BraceCloseProc;
+      #91                        : fProcTable[I] := @BracketOpenProc;
+      #93                        : fProcTable[I] := @BracketCloseProc;
+      #1..#9, #11, #12, #14..#32 : fProcTable[I] := @SpaceProc;
+      #36                        : fProcTable[I] := @MathmodeProc;
     else
-      fProcTable[I] := {$IFDEF FPC}@{$ENDIF}TextProc;
+      fProcTable[I] := @TextProc;
     end;
 end;
 
@@ -199,12 +178,12 @@
   AddAttribute(fBraceAttri);
 
   //*************************
-  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
+  SetAttributesOnChange(@DefHighlightChange);
   fDefaultFilter                := SYNS_FilterTeX;
   MakeMethodTables;
 end;  { Create }
 
-procedure TSynTeXSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber:Integer);
+procedure TSynTeXSyn.SetLine(const NewValue: String; LineNumber:Integer);
 begin
   inherited;
   fLine       := PChar(NewValue);
@@ -312,7 +291,7 @@
 procedure TSynTeXSyn.Next;
 begin
   fTokenPos := Run;
-  fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
+  fProcTable[fLine[Run]]();
 end;  { Next }
 
 function TSynTeXSyn.GetDefaultAttribute(Index: integer):
@@ -339,13 +318,11 @@
   SetString(Result, (FLine + fTokenPos), Len);
 end;  { GetToken }
 
-{$IFDEF SYN_LAZARUS}
 procedure TSynTeXSyn.GetTokenEx(out TokenStart: PChar; out TokenLength: integer);
 begin
   TokenLength:=Run-fTokenPos;
   TokenStart:=FLine + fTokenPos;
 end;
-{$ENDIF}
 
 function TSynTeXSyn.GetTokenID: TtkTokenKind;
 begin
Index: synhighlighterunixshellscript.pas
===================================================================
--- synhighlighterunixshellscript.pas	(revision 37490)
+++ synhighlighterunixshellscript.pas	(working copy)
@@ -47,27 +47,17 @@
 The SynHighlighterUNIXShellScript unit provides SynEdit with a UNIX Shell Script highlighter.
 }
 
-{$IFNDEF QSYNHIGHLIGHTERUNIXSHELLSCRIPT}
 unit synhighlighterunixshellscript;
-{$ENDIF}
 
 {$I SynEdit.inc}
 
 interface
 
 uses
-  {$IFDEF SYN_CLX}
-  QGraphics,
-  QSynEditTypes,
-  QSynEditHighlighter,
-  {$ELSE}
   Graphics,
-  {$IFDEF SYN_LAZARUS}
   GraphType, /////TL 2003-06-11: Added for font attribute declaration fsBold
-  {$ENDIF}
   SynEditTypes,
   SynEditHighlighter,
-  {$ENDIF}
   SysUtils,
   Classes;
 
@@ -131,13 +121,11 @@
     function GetEol: Boolean; override;
     function GetRange: Pointer; override;
     function GetTokenID: TtkTokenKind;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber:Integer); override; /////TL: Added 2003-06-11
+    procedure SetLine(const NewValue: String; LineNumber:Integer); override; /////TL: Added 2003-06-11
     function IsKeyword(const AKeyword: string): boolean; override;              //mh 2000-11-08
     function IsSecondKeyWord(aToken: string): Boolean;
     function GetToken: string; override;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override; /////TL: Added 2003-06-11
-    {$ENDIF}
     function GetTokenAttribute: TSynHighlighterAttributes; override;
     function GetTokenKind: integer; override;
     function GetTokenPos: Integer; override;
@@ -168,11 +156,7 @@
 implementation
 
 uses
-{$IFDEF SYN_CLX}
-  QSynEditStrConst;
-{$ELSE}
   SynEditStrConst;
-{$ENDIF}
 
 const
   ShellScriptKeysCount = 110;
@@ -198,16 +182,10 @@
 
 var
   Identifiers: array[#0..#255] of ByteBool;
-  {$IFNDEF SYN_LAZARUS}
-  mHashTable: array[#0..#255] of Integer;
-  {$ENDIF}
 
 procedure MakeIdentTable;
 var
   I: Char;
-  {$IFNDEF SYN_LAZARUS}
-  K: Char;
-  {$ENDIF}
 begin
   for I := #0 to #255 do
   begin
@@ -217,13 +195,6 @@
       else
         Identifiers[I] := False;
     end;
-    {$IFNDEF SYN_LAZARUS}
-    J := UpCase(I);
-    case I in ['_', 'a'..'z', 'A'..'Z'] of
-      True: mHashTable[I] := Ord(J) - 64
-      else mHashTable[I] := 0;
-    end;
-    {$ENDIF}
   end;
 end;
 
@@ -277,21 +248,21 @@
 begin
   for I := #0 to #255 do
     case I of  /////TL 2003-06-11: added "@" prefix to function identifiers being assigned
-      '#': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SlashProc{!@#$AsciiCharProc};
-      '{': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}BraceOpenProc;
-      ';': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}PointCommaProc;
-      '.': fProcTable[i] := {$IFDEF SYN_LAZARUS}@{$ENDIF}DotProc;
-      #13: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}CRProc;
-      'A'..'Z', 'a'..'z', '_': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}IdentProc;
-      #10: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LFProc;
-      #0: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NullProc;
-      '0'..'9': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NumberProc;
-      '(': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}RoundOpenProc;
-      '/': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SlashProc;
-      '$': fProcTable[i] := {$IFDEF SYN_LAZARUS}@{$ENDIF}DollarProc;
-      #1..#9, #11, #12, #14..#32: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SpaceProc;
-      #34, #39{!@#$#39}: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}StringProc;
-      else fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}UnknownProc;
+      '#': fProcTable[I] := @SlashProc{!@#$AsciiCharProc};
+      '{': fProcTable[I] := @BraceOpenProc;
+      ';': fProcTable[I] := @PointCommaProc;
+      '.': fProcTable[i] := @DotProc;
+      #13: fProcTable[I] := @CRProc;
+      'A'..'Z', 'a'..'z', '_': fProcTable[I] := @IdentProc;
+      #10: fProcTable[I] := @LFProc;
+      #0: fProcTable[I] := @NullProc;
+      '0'..'9': fProcTable[I] := @NumberProc;
+      '(': fProcTable[I] := @RoundOpenProc;
+      '/': fProcTable[I] := @SlashProc;
+      '$': fProcTable[i] := @DollarProc;
+      #1..#9, #11, #12, #14..#32: fProcTable[I] := @SpaceProc;
+      #34, #39{!@#$#39}: fProcTable[I] := @StringProc;
+      else fProcTable[I] := @UnknownProc;
     end;
 end;
 
@@ -341,7 +312,7 @@
   fVarAttri := TSynHighlighterAttributes.Create(SYNS_AttrVariable, SYNS_XML_AttrVariable);
   fVarAttri.Foreground := clPurple;
   AddAttribute(fVarAttri);
-  SetAttributesOnChange({$IFDEF SYN_LAZARUS}@{$ENDIF}DefHighlightChange);   ////TL 2003-06-11: added the @prefix to DefHighlightChange
+  SetAttributesOnChange(@DefHighlightChange);   ////TL 2003-06-11: added the @prefix to DefHighlightChange
 
   MakeMethodTables;
   fRange := rsUnknown;
@@ -350,7 +321,7 @@
 
 ////TL 2003-06-11: Replaced existing SetLine with this one... identical except for the IFDEF
 procedure TSynUNIXShellScriptSyn.SetLine(
-  {$IFDEF FPC}const {$ENDIF}NewValue: String;
+  const NewValue: String;
   LineNumber:Integer);
 begin
   inherited;
@@ -661,10 +632,8 @@
 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;
 
@@ -714,14 +683,12 @@
 end;
 
 ////TL 2003-06-11: Added the following to satisfy abstract method override
-{$IFDEF SYN_LAZARUS}
 procedure TSynUNIXShellScriptSyn.GetTokenEx(out TokenStart: PChar;
   out TokenLength: integer);
 begin
   TokenLength:=Run-fTokenPos;
   TokenStart:=FLine + fTokenPos;
 end;
-{$ENDIF}
 
 function TSynUNIXShellScriptSyn.GetTokenID: TtkTokenKind;
 begin
Index: synhighlightervb.pas
===================================================================
--- synhighlightervb.pas	(revision 37490)
+++ synhighlightervb.pas	(working copy)
@@ -50,16 +50,8 @@
 
 uses
   SysUtils, Classes,
-  {$IFDEF SYN_CLX}
-  Qt, QControls, QGraphics,
-  {$ELSE}
-  {$IFDEF SYN_LAZARUS}
   LCLIntf, LCLType,
-  {$ELSE}
-  Windows, Messages, Registry,
-  {$ENDIF}
   Controls, Graphics,
-  {$ENDIF}
   SynEditTypes, SynEditHighlighter;
 
 type
@@ -209,11 +201,9 @@
       override;
     function GetEol: Boolean; override;
     function GetTokenID: TtkTokenKind;
-    procedure SetLine({$IFDEF FPC} const {$ENDIF} NewValue: String; LineNumber: Integer); override;
+    procedure SetLine(const NewValue: String; LineNumber: Integer); override;
     function GetToken: String; override;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
-    {$ENDIF}
     function GetTokenAttribute: TSynHighlighterAttributes; override;
     function GetTokenKind: integer; override;
     function GetTokenPos: Integer; override;
@@ -268,97 +258,97 @@
 begin
   pF := PIdentFuncTableFunc(@fIdentFuncTable);
   for I := Low(fIdentFuncTable) to High(fIdentFuncTable) do begin
-    pF^ := {$IFDEF FPC}@{$ENDIF}AltFunc;
+    pF^ := @AltFunc;
     Inc(pF);
   end;
-  fIdentFuncTable[10] := {$IFDEF FPC}@{$ENDIF}Func10;
-  fIdentFuncTable[15] := {$IFDEF FPC}@{$ENDIF}Func15;
-  fIdentFuncTable[17] := {$IFDEF FPC}@{$ENDIF}Func17;
-  fIdentFuncTable[18] := {$IFDEF FPC}@{$ENDIF}Func18;
-  fIdentFuncTable[19] := {$IFDEF FPC}@{$ENDIF}Func19;
-  fIdentFuncTable[20] := {$IFDEF FPC}@{$ENDIF}Func20;
-  fIdentFuncTable[21] := {$IFDEF FPC}@{$ENDIF}Func21;
-  fIdentFuncTable[22] := {$IFDEF FPC}@{$ENDIF}Func22;
-  fIdentFuncTable[23] := {$IFDEF FPC}@{$ENDIF}Func23;
-  fIdentFuncTable[24] := {$IFDEF FPC}@{$ENDIF}Func24;
-  fIdentFuncTable[26] := {$IFDEF FPC}@{$ENDIF}Func26;
-  fIdentFuncTable[27] := {$IFDEF FPC}@{$ENDIF}Func27;
-  fIdentFuncTable[28] := {$IFDEF FPC}@{$ENDIF}Func28;
-  fIdentFuncTable[29] := {$IFDEF FPC}@{$ENDIF}Func29;
-  fIdentFuncTable[30] := {$IFDEF FPC}@{$ENDIF}Func30;
-  fIdentFuncTable[31] := {$IFDEF FPC}@{$ENDIF}Func31;
-  fIdentFuncTable[32] := {$IFDEF FPC}@{$ENDIF}Func32;
-  fIdentFuncTable[33] := {$IFDEF FPC}@{$ENDIF}Func33;
-  fIdentFuncTable[34] := {$IFDEF FPC}@{$ENDIF}Func34;
-  fIdentFuncTable[35] := {$IFDEF FPC}@{$ENDIF}Func35;
-  fIdentFuncTable[36] := {$IFDEF FPC}@{$ENDIF}Func36;
-  fIdentFuncTable[37] := {$IFDEF FPC}@{$ENDIF}Func37;
-  fIdentFuncTable[38] := {$IFDEF FPC}@{$ENDIF}Func38;
-  fIdentFuncTable[39] := {$IFDEF FPC}@{$ENDIF}Func39;
-  fIdentFuncTable[40] := {$IFDEF FPC}@{$ENDIF}Func40;
-  fIdentFuncTable[41] := {$IFDEF FPC}@{$ENDIF}Func41;
-  fIdentFuncTable[42] := {$IFDEF FPC}@{$ENDIF}Func42;
-  fIdentFuncTable[43] := {$IFDEF FPC}@{$ENDIF}Func43;
-  fIdentFuncTable[44] := {$IFDEF FPC}@{$ENDIF}Func44;
-  fIdentFuncTable[45] := {$IFDEF FPC}@{$ENDIF}Func45;
-  fIdentFuncTable[46] := {$IFDEF FPC}@{$ENDIF}Func46;
-  fIdentFuncTable[47] := {$IFDEF FPC}@{$ENDIF}Func47;
-  fIdentFuncTable[48] := {$IFDEF FPC}@{$ENDIF}Func48;
-  fIdentFuncTable[49] := {$IFDEF FPC}@{$ENDIF}Func49;
-  fIdentFuncTable[50] := {$IFDEF FPC}@{$ENDIF}Func50;
-  fIdentFuncTable[52] := {$IFDEF FPC}@{$ENDIF}Func52;
-  fIdentFuncTable[53] := {$IFDEF FPC}@{$ENDIF}Func53;
-  fIdentFuncTable[54] := {$IFDEF FPC}@{$ENDIF}Func54;
-  fIdentFuncTable[55] := {$IFDEF FPC}@{$ENDIF}Func55;
-  fIdentFuncTable[56] := {$IFDEF FPC}@{$ENDIF}Func56;
-  fIdentFuncTable[57] := {$IFDEF FPC}@{$ENDIF}Func57;
-  fIdentFuncTable[58] := {$IFDEF FPC}@{$ENDIF}Func58;
-  fIdentFuncTable[59] := {$IFDEF FPC}@{$ENDIF}Func59;
-  fIdentFuncTable[60] := {$IFDEF FPC}@{$ENDIF}Func60;
-  fIdentFuncTable[62] := {$IFDEF FPC}@{$ENDIF}Func62;
-  fIdentFuncTable[63] := {$IFDEF FPC}@{$ENDIF}Func63;
-  fIdentFuncTable[64] := {$IFDEF FPC}@{$ENDIF}Func64;
-  fIdentFuncTable[65] := {$IFDEF FPC}@{$ENDIF}Func65;
-  fIdentFuncTable[66] := {$IFDEF FPC}@{$ENDIF}Func66;
-  fIdentFuncTable[67] := {$IFDEF FPC}@{$ENDIF}Func67;
-  fIdentFuncTable[68] := {$IFDEF FPC}@{$ENDIF}Func68;
-  fIdentFuncTable[69] := {$IFDEF FPC}@{$ENDIF}Func69;
-  fIdentFuncTable[70] := {$IFDEF FPC}@{$ENDIF}Func70;
-  fIdentFuncTable[71] := {$IFDEF FPC}@{$ENDIF}Func71;
-  fIdentFuncTable[72] := {$IFDEF FPC}@{$ENDIF}Func72;
-  fIdentFuncTable[73] := {$IFDEF FPC}@{$ENDIF}Func73;
-  fIdentFuncTable[74] := {$IFDEF FPC}@{$ENDIF}Func74;
-  fIdentFuncTable[75] := {$IFDEF FPC}@{$ENDIF}Func75;
-  fIdentFuncTable[76] := {$IFDEF FPC}@{$ENDIF}Func76;
-  fIdentFuncTable[77] := {$IFDEF FPC}@{$ENDIF}Func77;
-  fIdentFuncTable[78] := {$IFDEF FPC}@{$ENDIF}Func78;
-  fIdentFuncTable[79] := {$IFDEF FPC}@{$ENDIF}Func79;
-  fIdentFuncTable[80] := {$IFDEF FPC}@{$ENDIF}Func80;
-  fIdentFuncTable[81] := {$IFDEF FPC}@{$ENDIF}Func81;
-  fIdentFuncTable[82] := {$IFDEF FPC}@{$ENDIF}Func82;
-  fIdentFuncTable[83] := {$IFDEF FPC}@{$ENDIF}Func83;
-  fIdentFuncTable[85] := {$IFDEF FPC}@{$ENDIF}Func85;
-  fIdentFuncTable[87] := {$IFDEF FPC}@{$ENDIF}Func87;
-  fIdentFuncTable[89] := {$IFDEF FPC}@{$ENDIF}Func89;
-  fIdentFuncTable[91] := {$IFDEF FPC}@{$ENDIF}Func91;
-  fIdentFuncTable[94] := {$IFDEF FPC}@{$ENDIF}Func94;
-  fIdentFuncTable[96] := {$IFDEF FPC}@{$ENDIF}Func96;
-  fIdentFuncTable[97] := {$IFDEF FPC}@{$ENDIF}Func97;
-  fIdentFuncTable[98] := {$IFDEF FPC}@{$ENDIF}Func98;
-  fIdentFuncTable[99] := {$IFDEF FPC}@{$ENDIF}Func99;
-  fIdentFuncTable[101] := {$IFDEF FPC}@{$ENDIF}Func101;
-  fIdentFuncTable[102] := {$IFDEF FPC}@{$ENDIF}Func102;
-  fIdentFuncTable[103] := {$IFDEF FPC}@{$ENDIF}Func103;
-  fIdentFuncTable[104] := {$IFDEF FPC}@{$ENDIF}Func104;
-  fIdentFuncTable[105] := {$IFDEF FPC}@{$ENDIF}Func105;
-  fIdentFuncTable[107] := {$IFDEF FPC}@{$ENDIF}Func107;
-  fIdentFuncTable[108] := {$IFDEF FPC}@{$ENDIF}Func108;
-  fIdentFuncTable[109] := {$IFDEF FPC}@{$ENDIF}Func109;
-  fIdentFuncTable[111] := {$IFDEF FPC}@{$ENDIF}Func111;
-  fIdentFuncTable[114] := {$IFDEF FPC}@{$ENDIF}Func114;
-  fIdentFuncTable[116] := {$IFDEF FPC}@{$ENDIF}Func116;
-  fIdentFuncTable[118] := {$IFDEF FPC}@{$ENDIF}Func118;
-  fIdentFuncTable[133] := {$IFDEF FPC}@{$ENDIF}Func133;
+  fIdentFuncTable[10] := @Func10;
+  fIdentFuncTable[15] := @Func15;
+  fIdentFuncTable[17] := @Func17;
+  fIdentFuncTable[18] := @Func18;
+  fIdentFuncTable[19] := @Func19;
+  fIdentFuncTable[20] := @Func20;
+  fIdentFuncTable[21] := @Func21;
+  fIdentFuncTable[22] := @Func22;
+  fIdentFuncTable[23] := @Func23;
+  fIdentFuncTable[24] := @Func24;
+  fIdentFuncTable[26] := @Func26;
+  fIdentFuncTable[27] := @Func27;
+  fIdentFuncTable[28] := @Func28;
+  fIdentFuncTable[29] := @Func29;
+  fIdentFuncTable[30] := @Func30;
+  fIdentFuncTable[31] := @Func31;
+  fIdentFuncTable[32] := @Func32;
+  fIdentFuncTable[33] := @Func33;
+  fIdentFuncTable[34] := @Func34;
+  fIdentFuncTable[35] := @Func35;
+  fIdentFuncTable[36] := @Func36;
+  fIdentFuncTable[37] := @Func37;
+  fIdentFuncTable[38] := @Func38;
+  fIdentFuncTable[39] := @Func39;
+  fIdentFuncTable[40] := @Func40;
+  fIdentFuncTable[41] := @Func41;
+  fIdentFuncTable[42] := @Func42;
+  fIdentFuncTable[43] := @Func43;
+  fIdentFuncTable[44] := @Func44;
+  fIdentFuncTable[45] := @Func45;
+  fIdentFuncTable[46] := @Func46;
+  fIdentFuncTable[47] := @Func47;
+  fIdentFuncTable[48] := @Func48;
+  fIdentFuncTable[49] := @Func49;
+  fIdentFuncTable[50] := @Func50;
+  fIdentFuncTable[52] := @Func52;
+  fIdentFuncTable[53] := @Func53;
+  fIdentFuncTable[54] := @Func54;
+  fIdentFuncTable[55] := @Func55;
+  fIdentFuncTable[56] := @Func56;
+  fIdentFuncTable[57] := @Func57;
+  fIdentFuncTable[58] := @Func58;
+  fIdentFuncTable[59] := @Func59;
+  fIdentFuncTable[60] := @Func60;
+  fIdentFuncTable[62] := @Func62;
+  fIdentFuncTable[63] := @Func63;
+  fIdentFuncTable[64] := @Func64;
+  fIdentFuncTable[65] := @Func65;
+  fIdentFuncTable[66] := @Func66;
+  fIdentFuncTable[67] := @Func67;
+  fIdentFuncTable[68] := @Func68;
+  fIdentFuncTable[69] := @Func69;
+  fIdentFuncTable[70] := @Func70;
+  fIdentFuncTable[71] := @Func71;
+  fIdentFuncTable[72] := @Func72;
+  fIdentFuncTable[73] := @Func73;
+  fIdentFuncTable[74] := @Func74;
+  fIdentFuncTable[75] := @Func75;
+  fIdentFuncTable[76] := @Func76;
+  fIdentFuncTable[77] := @Func77;
+  fIdentFuncTable[78] := @Func78;
+  fIdentFuncTable[79] := @Func79;
+  fIdentFuncTable[80] := @Func80;
+  fIdentFuncTable[81] := @Func81;
+  fIdentFuncTable[82] := @Func82;
+  fIdentFuncTable[83] := @Func83;
+  fIdentFuncTable[85] := @Func85;
+  fIdentFuncTable[87] := @Func87;
+  fIdentFuncTable[89] := @Func89;
+  fIdentFuncTable[91] := @Func91;
+  fIdentFuncTable[94] := @Func94;
+  fIdentFuncTable[96] := @Func96;
+  fIdentFuncTable[97] := @Func97;
+  fIdentFuncTable[98] := @Func98;
+  fIdentFuncTable[99] := @Func99;
+  fIdentFuncTable[101] := @Func101;
+  fIdentFuncTable[102] := @Func102;
+  fIdentFuncTable[103] := @Func103;
+  fIdentFuncTable[104] := @Func104;
+  fIdentFuncTable[105] := @Func105;
+  fIdentFuncTable[107] := @Func107;
+  fIdentFuncTable[108] := @Func108;
+  fIdentFuncTable[109] := @Func109;
+  fIdentFuncTable[111] := @Func111;
+  fIdentFuncTable[114] := @Func114;
+  fIdentFuncTable[116] := @Func116;
+  fIdentFuncTable[118] := @Func118;
+  fIdentFuncTable[133] := @Func133;
 end;
 
 function TSynVBSyn.KeyHash(ToHash: PChar): Integer;
@@ -985,7 +975,7 @@
   fToIdent := MayBe;
   HashKey := KeyHash(MayBe);
   if HashKey < 134 then
-    Result := fIdentFuncTable[HashKey]{$IFDEF FPC}(){$ENDIF}
+    Result := fIdentFuncTable[HashKey]()
   else
     Result := tkIdentifier; 
 end;
@@ -996,33 +986,33 @@
 begin
   for I := #0 to #255 do
     case I of
-      '&': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      #39: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}ApostropheProc;
-      '}': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      '{': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      #13: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}CRProc;
-      ':': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      ',': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      '#': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}DateProc;
-      '=': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      '^': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      '>': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}GreaterProc;
-      'A'..'Z', 'a'..'z', '_': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}IdentProc;
-      #10: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LFProc;
-      '<': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}LowerProc;
-      '-': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      #0: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NullProc;
-      '0'..'9': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}NumberProc;
-      '+': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      '.': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      ')': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      '(': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      ';': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      '/': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      #1..#9, #11, #12, #14..#32: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SpaceProc;
-      '*': fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}SymbolProc;
-      #34: fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}StringProc;
-      else fProcTable[I] := {$IFDEF SYN_LAZARUS}@{$ENDIF}UnknownProc;
+      '&': fProcTable[I] := @SymbolProc;
+      #39: fProcTable[I] := @ApostropheProc;
+      '}': fProcTable[I] := @SymbolProc;
+      '{': fProcTable[I] := @SymbolProc;
+      #13: fProcTable[I] := @CRProc;
+      ':': fProcTable[I] := @SymbolProc;
+      ',': fProcTable[I] := @SymbolProc;
+      '#': fProcTable[I] := @DateProc;
+      '=': fProcTable[I] := @SymbolProc;
+      '^': fProcTable[I] := @SymbolProc;
+      '>': fProcTable[I] := @GreaterProc;
+      'A'..'Z', 'a'..'z', '_': fProcTable[I] := @IdentProc;
+      #10: fProcTable[I] := @LFProc;
+      '<': fProcTable[I] := @LowerProc;
+      '-': fProcTable[I] := @SymbolProc;
+      #0: fProcTable[I] := @NullProc;
+      '0'..'9': fProcTable[I] := @NumberProc;
+      '+': fProcTable[I] := @SymbolProc;
+      '.': fProcTable[I] := @SymbolProc;
+      ')': fProcTable[I] := @SymbolProc;
+      '(': fProcTable[I] := @SymbolProc;
+      ';': fProcTable[I] := @SymbolProc;
+      '/': fProcTable[I] := @SymbolProc;
+      #1..#9, #11, #12, #14..#32: fProcTable[I] := @SpaceProc;
+      '*': fProcTable[I] := @SymbolProc;
+      #34: fProcTable[I] := @StringProc;
+      else fProcTable[I] := @UnknownProc;
     end;
 end;
 
@@ -1045,13 +1035,13 @@
   AddAttribute(fStringAttri);
   fSymbolAttri := TSynHighlighterAttributes.Create(SYNS_AttrSymbol, SYNS_XML_AttrSymbol);
   AddAttribute(fSymbolAttri);
-  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
+  SetAttributesOnChange(@DefHighlightChange);
   InitIdent;
   MakeMethodTables;
   fDefaultFilter := SYNS_FilterVisualBASIC;
 end;
 
-procedure TSynVBSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: String; LineNumber: Integer);
+procedure TSynVBSyn.SetLine(const NewValue: String; LineNumber: Integer);
 begin
   inherited;
   fLine := PChar(NewValue);
@@ -1160,17 +1150,15 @@
   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;
 
 procedure TSynVBSyn.Next;
 begin
   fTokenPos := Run;
-  fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
+  fProcTable[fLine[Run]]();
 end;
 
 function TSynVBSyn.GetDefaultAttribute(Index: integer):
@@ -1202,14 +1190,12 @@
   SetString(Result, (FLine + fTokenPos), Len);
 end;
 
-{$IFDEF SYN_LAZARUS}
 procedure TSynVBSyn.GetTokenEx(out TokenStart: PChar;
   out TokenLength: integer);
 begin
   TokenLength:=Run-fTokenPos;
   TokenStart:=FLine + fTokenPos;
 end;
-{$ENDIF}
 
 function TSynVBSyn.GetTokenID: TtkTokenKind;
 begin
Index: synhighlighterxml.pas
===================================================================
--- synhighlighterxml.pas	(revision 37490)
+++ synhighlighterxml.pas	(working copy)
@@ -172,11 +172,9 @@
     function GetEol: Boolean; override;
     function GetRange: Pointer; override;
     function GetTokenID: TtkTokenKind;
-    procedure SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string; LineNumber:Integer); override;
+    procedure SetLine(const NewValue: string; LineNumber:Integer); override;
     function GetToken: string; override;
-    {$IFDEF SYN_LAZARUS}
     procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override;
-    {$ENDIF}
     function GetTokenAttribute: TSynHighlighterAttributes; override;
     function GetTokenKind: integer; override;
     function GetTokenPos: Integer; override;
@@ -292,7 +290,7 @@
   AddAttribute(fSpaceAttri);
   AddAttribute(fTextAttri);
 
-  SetAttributesOnChange({$IFDEF FPC}@{$ENDIF}DefHighlightChange);
+  SetAttributesOnChange(@DefHighlightChange);
 
   MakeMethodTables;
   fRange := rsText;
@@ -307,35 +305,35 @@
     case i of
     #0:
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}NullProc;
+        fProcTable[i] := @NullProc;
       end;
     #10:
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}LineFeedProc;
+        fProcTable[i] := @LineFeedProc;
       end;
     #13:
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}CarriageReturnProc;
+        fProcTable[i] := @CarriageReturnProc;
       end;
     #1..#9, #11, #12, #14..#32:
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}SpaceProc;
+        fProcTable[i] := @SpaceProc;
       end;
     '<':
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}LessThanProc;
+        fProcTable[i] := @LessThanProc;
       end;
     '>':
       begin
-        fProcTable[i] := {$IFDEF FPC}@{$ENDIF}GreaterThanProc;
+        fProcTable[i] := @GreaterThanProc;
       end;
     else
-      fProcTable[i] := {$IFDEF FPC}@{$ENDIF}IdentProc;
+      fProcTable[i] := @IdentProc;
     end;
   end;
 end;
 
-procedure TSynXMLSyn.SetLine({$IFDEF FPC}const {$ENDIF}NewValue: string;
+procedure TSynXMLSyn.SetLine(const NewValue: string;
   LineNumber:Integer);
 begin
   inherited;
@@ -443,7 +441,7 @@
   fTokenID := tkComment;
 
   if (fLine[Run] In [#0, #10, #13]) then begin
-    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
+    fProcTable[fLine[Run]]();
     Exit;
   end;
 
@@ -461,7 +459,7 @@
 begin
   fTokenID := tkProcessingInstruction;
   if (fLine[Run] In [#0, #10, #13]) then begin
-    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
+    fProcTable[fLine[Run]]();
     Exit;
   end;
 
@@ -483,7 +481,7 @@
   fTokenID := tkDocType;
 
   if (fLine[Run] In [#0, #10, #13]) then begin
-    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
+    fProcTable[fLine[Run]]();
     Exit;
   end;
 
@@ -543,7 +541,7 @@
   fTokenID := tkCDATA;
   if (fLine[Run] In [#0, #10, #13]) then
   begin
-    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
+    fProcTable[fLine[Run]]();
     Exit;
   end;
 
@@ -691,7 +689,7 @@
 const StopSet = [#0..#31, '<', '&'];
 begin
   if fLine[Run] in (StopSet - ['&']) then begin
-    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
+    fProcTable[fLine[Run]]();
     exit;
   end;
 
@@ -756,35 +754,35 @@
   case fRange of
   rsElement, rsOpenElement, rsCloseElement:
     begin
-      ElementProc{$IFDEF FPC}(){$ENDIF};
+      ElementProc();
     end;
   rsAttribute:
     begin
-      AttributeProc{$IFDEF FPC}(){$ENDIF};
+      AttributeProc();
     end;
   rsEqual, rsnsEqual:
     begin
-      EqualProc{$IFDEF FPC}(){$ENDIF};
+      EqualProc();
     end;
   rsQuoteAttrValue, rsnsQuoteAttrValue:
     begin
-      QAttributeValueProc{$IFDEF FPC}(){$ENDIF};
+      QAttributeValueProc();
     end;
   rsAposAttrValue, rsnsAPosAttrValue:
     begin
-      AAttributeValueProc{$IFDEF FPC}(){$ENDIF};
+      AAttributeValueProc();
     end;
   rsQuoteEntityRef, rsnsQuoteEntityRef:
     begin
-      QEntityRefProc{$IFDEF FPC}(){$ENDIF};
+      QEntityRefProc();
     end;
   rsAposEntityRef, rsnsAPosEntityRef:
     begin
-      AEntityRefProc{$IFDEF FPC}(){$ENDIF};
+      AEntityRefProc();
     end;
   rsEntityRef:
     begin
-      EntityRefProc{$IFDEF FPC}(){$ENDIF};
+      EntityRefProc();
     end;
   else ;
   end;
@@ -796,26 +794,26 @@
   case fRange of
   rsText:
     begin
-      TextProc{$IFDEF FPC}(){$ENDIF};
+      TextProc();
     end;
   rsComment:
     begin
-      CommentProc{$IFDEF FPC}(){$ENDIF};
+      CommentProc();
     end;
   rsProcessingInstruction:
     begin
-      ProcessingInstructionProc{$IFDEF FPC}(){$ENDIF};
+      ProcessingInstructionProc();
     end;
   rsDocType, rsDocTypeSquareBraces:                                            //ek 2001-11-11
     begin
-      DocTypeProc{$IFDEF FPC}(){$ENDIF};
+      DocTypeProc();
     end;
   rsCDATA:
     begin
-      CDATAProc{$IFDEF FPC}(){$ENDIF};
+      CDATAProc();
     end;
   else
-    fProcTable[fLine[Run]]{$IFDEF FPC}(){$ENDIF};
+    fProcTable[fLine[Run]]();
   end;
 end;
 
@@ -860,14 +858,12 @@
   SetString(Result, (FLine + fTokenPos), len);
 end;
 
-{$IFDEF SYN_LAZARUS}
 procedure TSynXMLSyn.GetTokenEx(out TokenStart: PChar;
   out TokenLength: integer);
 begin
   TokenLength:=Run-fTokenPos;
   TokenStart:=FLine + fTokenPos;
 end;
-{$ENDIF}
 
 function TSynXMLSyn.GetTokenID: TtkTokenKind;
 begin
Index: synmacrorecorder.pas
===================================================================
--- synmacrorecorder.pas	(revision 37490)
+++ synmacrorecorder.pas	(working copy)
@@ -60,7 +60,7 @@
     function GetAsString : string; virtual; abstract;
     procedure InitEventParameters(aStr : string); virtual; abstract;
   public
-    constructor Create; {$IFNDEF FPC}virtual;{$ENDIF}
+    constructor Create; virtual;
     procedure Initialize(aCmd: TSynEditorCommand;
       const aChar: TUTF8Char;
       aData: Pointer);  virtual; abstract;
@@ -438,9 +438,9 @@
   if (PlaybackCommandID <> ecNone) and (PlaybackShortCut <> 0) then
     HookEditor( aEditor, PlaybackCommandID, 0, PlaybackShortCut, []);
 
-  aEditor.RegisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnCommand, Self, [hcfPreExec]);
-  aEditor.RegisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnPreCommand, Self, [hcfInit]);
-  aEditor.RegisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnFinishCommand, Self, [hcfFinish]);
+  aEditor.RegisterCommandHandler( @OnCommand, Self, [hcfPreExec]);
+  aEditor.RegisterCommandHandler( @OnPreCommand, Self, [hcfInit]);
+  aEditor.RegisterCommandHandler( @OnFinishCommand, Self, [hcfFinish]);
 end;
 
 procedure TCustomSynMacroRecorder.DoEditorRemoving(aEditor: TCustomSynEdit);
@@ -450,9 +450,9 @@
   if PlaybackCommandID <> ecNone then
     UnHookEditor( aEditor, PlaybackCommandID, PlaybackShortCut );
 
-  aEditor.UnregisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnCommand);
-  aEditor.UnregisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnPreCommand);
-  aEditor.UnregisterCommandHandler( {$IFDEF FPC}@{$ENDIF}OnFinishCommand);
+  aEditor.UnregisterCommandHandler( @OnCommand);
+  aEditor.UnregisterCommandHandler( @OnPreCommand);
+  aEditor.UnregisterCommandHandler( @OnFinishCommand);
 end;
 
 procedure TCustomSynMacroRecorder.Error(const aMsg: String);
@@ -999,7 +999,6 @@
 
 { TSynStringEvent }
 
-{$IFNDEF SYN_COMPILER_3_UP}
 function QuotedStr(const S: string; QuoteChar: Char): string;
 var
   i: Integer;
@@ -1010,17 +1009,12 @@
       Insert(QuoteChar, Result, i);
   Result := QuoteChar + Result + QuoteChar;
 end;
-{$ENDIF}
 
 function TSynStringEvent.GetAsString: string;
 begin
   Result := '';
   EditorCommandToIdent(ecString, Result);
-  {$IFDEF SYN_COMPILER_3_UP}
   Result := Result + ' ' + AnsiQuotedStr(Value, #39);
-  {$ELSE}
-  Result := Result + ' ' + QuotedStr(Value, #39);
-  {$ENDIF}
   if RepeatCount > 1 then
     Result := Result + ' ' + IntToStr(RepeatCount);
 end;
Index: synmemo.pas
===================================================================
--- synmemo.pas	(revision 37490)
+++ synmemo.pas	(working copy)
@@ -44,18 +44,7 @@
 interface
 
 uses
-  Classes,
-{$IFDEF SYN_CLX}
-  Qt,
-  Types,
-{$ELSE}
-  {$IFDEF SYN_LAZARUS}
-  LCLIntf, Controls,
-  {$ELSE}
-  Windows,
-  {$ENDIF}
-{$ENDIF}
-  SynEdit;
+  Classes, LCLIntf, Controls, SynEdit;
 
 //SelStart and SelEnd are now in TCustomSynEdit                                 //DDH Addition
 
@@ -79,29 +68,15 @@
   published
     // inherited properties
     property Align;
-    {$IFDEF SYN_LAZARUS}
     property BorderSpacing;
-    {$ENDIF}
-{$IFDEF SYN_COMPILER_4_UP}
     property Anchors;
     property Constraints;
-{$ENDIF}
     property Color;
-  {$IFNDEF SYN_CLX}
-    {$IFNDEF SYN_LAZARUS}
-    property Ctl3D;
-    {$ENDIF}
-  {$ENDIF}
     property Enabled;
     property Font;
     property Height;
     property Name;
     property ParentColor;
-  {$IFNDEF SYN_CLX}
-    {$IFNDEF SYN_LAZARUS}
-    property ParentCtl3D;
-    {$ENDIF}
-  {$ENDIF}
     property ParentFont;
     property ParentShowHint;
     property PopupMenu;
@@ -116,13 +91,6 @@
     property OnDblClick;
     property OnDragDrop;
     property OnDragOver;
-{$IFDEF SYN_COMPILER_4_UP}
-{$IFNDEF SYN_CLX}
-{$IFNDEF SYN_LAZARUS}
-    property OnEndDock;
-{$ENDIF}
-{$ENDIF}
-{$ENDIF}
     property OnEndDrag;
     property OnEnter;
     property OnExit;
@@ -132,13 +100,6 @@
     property OnMouseDown;
     property OnMouseMove;
     property OnMouseUp;
-{$IFDEF SYN_COMPILER_4_UP}
-{$IFNDEF SYN_CLX}
-{$IFNDEF SYN_LAZARUS}
-    property OnStartDock;
-{$ENDIF}
-{$ENDIF}
-{$ENDIF}
     property OnStartDrag;
     // TCustomSynEdit properties
     property BookMarkOptions;
@@ -161,9 +122,6 @@
     property ReadOnly;
     property RightEdge;
     property RightEdgeColor;
-    {$IFNDEF SYN_LAZARUS}
-    property SearchEngine;
-    {$ENDIF}
     property ScrollBars;
     property SelectedColor;
     property SelectionMode;
@@ -175,10 +133,6 @@
     property OnCommandProcessed;
     property OnDropFiles;
     property OnGutterClick;
-    {$IFNDEF SYN_LAZARUS}
-    property OnGutterGetText;
-    property OnGutterPaint;
-    {$ENDIF}
     property OnPaint;
     property OnPlaceBookmark;
     property OnProcessCommand;
@@ -186,17 +140,11 @@
     property OnReplaceText;
     property OnSpecialLineColors;
     property OnStatusChange;
-    {$IFNDEF SYN_LAZARUS}
-    property OnPaintTransient;
-    {$ENDIF}
   end;
 
 implementation
 
 uses
-  {$IFNDEF SYN_LAZARUS}
-  SynEditStrConst,
-  {$ENDIF}
   SynEditMiscProcs;
 
 { TCustomSynMemo }
Index: synpluginsyncroedit.pp
===================================================================
--- synpluginsyncroedit.pp	(revision 37490)
+++ synpluginsyncroedit.pp	(working copy)
@@ -361,13 +361,13 @@
 begin
   Clear;
   if FLines <> nil then begin
-    fLines.RemoveChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineTextChanged);
-    fLines.RemoveChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineTextChanged);
+    fLines.RemoveChangeHandler(senrLineChange, @LineTextChanged);
+    fLines.RemoveChangeHandler(senrLineCount, @LineTextChanged);
   end;
   FLines := AValue;
   if FLines <> nil then begin
-    fLines.AddChangeHandler(senrLineChange, {$IFDEF FPC}@{$ENDIF}LineTextChanged);
-    fLines.AddChangeHandler(senrLineCount, {$IFDEF FPC}@{$ENDIF}LineTextChanged);
+    fLines.AddChangeHandler(senrLineChange, @LineTextChanged);
+    fLines.AddChangeHandler(senrLineCount, @LineTextChanged);
   end;
 end;
 
@@ -1596,9 +1596,9 @@
   MouseOffset  := AllocatePluginMouseRange(emcSynPSyncroEdCount, True);
   KeyOffset    := AllocatePluginKeyRange(ecSynPSyncroEdCount, True);
 
-  RegisterKeyCmdIdentProcs({$IFDEF FPC}@{$ENDIF}IdentToSyncroCommand,
-                           {$IFDEF FPC}@{$ENDIF}SyncroCommandToIdent);
-  RegisterExtraGetEditorCommandValues({$IFDEF FPC}@{$ENDIF}GetEditorCommandValues);
+  RegisterKeyCmdIdentProcs(@IdentToSyncroCommand,
+                           @SyncroCommandToIdent);
+  RegisterExtraGetEditorCommandValues(@GetEditorCommandValues);
 
 end.
 
Index: synpluginsyncronizededitbase.pp
===================================================================
--- synpluginsyncronizededitbase.pp	(revision 37490)
+++ synpluginsyncronizededitbase.pp	(working copy)
@@ -758,8 +758,8 @@
   Active := False;
   if Editor <> nil then begin
     if not FTextBufferChanging then begin
-      ViewedTextBuffer.RemoveGenericHandler(senrTextBufferChanging, TMethod({$IFDEF FPC}@{$ENDIF}DoBufferChanging));
-      ViewedTextBuffer.RemoveGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}DoBufferChanged));
+      ViewedTextBuffer.RemoveGenericHandler(senrTextBufferChanging, TMethod(@DoBufferChanging));
+      ViewedTextBuffer.RemoveGenericHandler(senrTextBufferChanged, TMethod(@DoBufferChanged));
     end;
     ViewedTextBuffer.RemoveEditHandler(@DoLinesEdited);
     ViewedTextBuffer.RemoveNotifyHandler(senrAfterIncPaintLock, @DoIncPaintLock);
@@ -794,8 +794,8 @@
     ViewedTextBuffer.AddNotifyHandler(senrAfterIncPaintLock, @DoIncPaintLock);
     ViewedTextBuffer.AddNotifyHandler(senrBeforeDecPaintLock, @DoDecPaintLock);
     if not FTextBufferChanging then begin
-      ViewedTextBuffer.AddGenericHandler(senrTextBufferChanging, TMethod({$IFDEF FPC}@{$ENDIF}DoBufferChanging));
-      ViewedTextBuffer.AddGenericHandler(senrTextBufferChanged, TMethod({$IFDEF FPC}@{$ENDIF}DoBufferChanged));
+      ViewedTextBuffer.AddGenericHandler(senrTextBufferChanging, TMethod(@DoBufferChanging));
+      ViewedTextBuffer.AddGenericHandler(senrTextBufferChanged, TMethod(@DoBufferChanged));
     end;
   end;
 end;
synedit-clean-3.patch (250,593 bytes)

Issue History

Date Modified Username Field Change
2012-06-03 18:51 Zaher Dirkey New Issue
2012-06-03 18:51 Zaher Dirkey File Added: synedit-clean-3.patch
2012-06-03 19:54 Martin Friebe Status new => assigned
2012-06-03 19:54 Martin Friebe Assigned To => Martin Friebe
2012-06-26 00:49 Martin Friebe Fixed in Revision => 37782
2012-06-26 00:49 Martin Friebe LazTarget => 1.2
2012-06-26 00:49 Martin Friebe Status assigned => resolved
2012-06-26 00:49 Martin Friebe Fixed in Version => 1.1 (SVN)
2012-06-26 00:49 Martin Friebe Resolution open => fixed
2012-06-26 00:49 Martin Friebe Target Version => 1.2.0
2012-06-27 19:24 Zaher Dirkey Status resolved => closed