anchor.diff:  end;
   {$ENDREGION}
   
  +{$REGION ICEEDitableSHortcut ---------------------------------------------------}
  +function TCEEditorWidget.scedWantFirst: boolean;
  +begin
  +  result := fDoc <> nil;
  +  fShortcutCount := 0;
  +end;
  +
  +function TCEEditorWidget.scedWantNext(out category, identifier: string; out aShortcut: TShortcut): boolean;
  +var
  +  shrct: TSynEditKeyStroke;
  +begin
  +  result := false;
  +  if fShortcutCount > fDoc.Keystrokes.Count-1 then exit;
  +  //
  +  shrct     := fDoc.Keystrokes.Items[fShortcutCount];
  +  category  := 'Editor';
  +  identifier:= shrct.DisplayName;
  +  aShortcut := Shortcut(shrct.Key, shrct.Shift);
  +  //
  +  fShortcutCount += 1;
  +  result := true;
  +end;
  +
  +procedure TCEEditorWidget.scedSendItem(const category, identifier: string; aShortcut: TShortcut);
  +begin
  +
  +end;
  +{$ENDREGION}
   
   {$REGION PageControl/Editor things ---------------------------------------------}
   {$IFDEF LINUX}
  
positive.code:     if PageControl.Page[i].ControlCount > 0 then
        if (PageControl.Page[i].Controls[0] is TCESynMemo) then
          PageControl.Page[i].Controls[0].Free;
    tokLst.Free;
    errLst.Free;
    inherited;
  end;
  
  
negative.code:   fKeyChanged := false;
    if fDoc.Lines.Count = 0 then exit;
    //
    lex(fDoc.Lines.Text, fTokList, @lexFindToken);
    md := '';
    if fDoc.isDSource then
      md := getModuleName(fTokList);
    if md = '' then md := extractFileName(fDoc.fileName);
    pageControl.ActivePage.Caption := md;
    //
    fTokList.Clear;
    fErrList.Clear;
    // when a widget saves a temp file & syncro mode is on:
    // - editor is saved
    // - gutter is updated (green bar indicating a saved block)
  