@@ -7269,10 +7269,7 @@ procedure TMainForm.GlobalSynEditStatusChange(Sender: TObject; Changes: TSynStat
72697269 Edit := Sender as TSynEdit;
72707270 MarkupWordSelection := Edit.MarkupByClass[TMarkupWordSelection] as TMarkupWordSelection;
72717271 if Assigned(MarkupWordSelection) then begin
7272- if ExecRegExprI('^\w+$', Edit.SelText) then
7273- MarkupWordSelection.SetWordToHighlight(Edit.SelText)
7274- else
7275- MarkupWordSelection.SetWordToHighlight('');
7272+ MarkupWordSelection.SetWordToHighlight(Edit.SelText)
72767273 end;
72777274end;
72787275
@@ -8982,7 +8979,7 @@ procedure TMainForm.ApplyVTFilter(FromTimer: Boolean);
89828979 tab: TTabSheet;
89838980 VisibleCount: Cardinal;
89848981 CellText: String;
8985- rx: TRegExpr ;
8982+ rx: TRegExprUmlauts ;
89868983 OldDataLocalNumberFormat: Boolean;
89878984 OldImageIndex: Integer;
89888985begin
@@ -9025,7 +9022,7 @@ procedure TMainForm.ApplyVTFilter(FromTimer: Boolean);
90259022 TreeIsInsideUpdate := tsUpdating in VT.TreeStates;
90269023 // Loop through all nodes and hide non matching
90279024 Node := VT.GetFirst;
9028- rx := TRegExpr .Create;
9025+ rx := TRegExprUmlauts .Create;
90299026 rx.ModifierI := True;
90309027 rx.Expression := editFilterVT.Text;
90319028 if rx.Expression <> '' then try
@@ -9052,10 +9049,12 @@ procedure TMainForm.ApplyVTFilter(FromTimer: Boolean);
90529049 match := rx.Expression = '';
90539050 // Search for given text in node's captions
90549051 if not match then for i := 0 to VT.Header.Columns.Count - 1 do begin
9055- CellText := VT.Text[Node, i];
9056- match := rx.Exec(CellText);
9057- if match then
9058- break;
9052+ if coVisible in VT.Header.Columns[i].Options then begin
9053+ CellText := VT.Text[Node, i];
9054+ match := rx.Exec(CellText);
9055+ if match then
9056+ break;
9057+ end;
90599058 end;
90609059 VT.IsVisible[Node] := match;
90619060 if match then
@@ -12534,17 +12533,17 @@ procedure TMainForm.editDatabaseTableFilterChange(Sender: TObject);
1253412533var
1253512534 Node: PVirtualNode;
1253612535 Obj: PDBObject;
12537- rxdb, rxtable: TRegExpr ;
12536+ rxdb, rxtable: TRegExprUmlauts ;
1253812537 NodeMatches: Boolean;
1253912538 Errors: TStringList;
1254012539begin
1254112540 // Immediately apply database filter
1254212541 LogSQL('editDatabaseTableFilterChange', lcDebug);
1254312542
12544- rxdb := TRegExpr .Create;
12543+ rxdb := TRegExprUmlauts .Create;
1254512544 rxdb.ModifierI := True;
1254612545 rxdb.Expression := '('+StringReplace(editDatabaseFilter.Text, ';', '|', [rfReplaceAll])+')';
12547- rxtable := TRegExpr .Create;
12546+ rxtable := TRegExprUmlauts .Create;
1254812547 rxtable.ModifierI := True;
1254912548 rxtable.Expression := '('+StringReplace(editTableFilter.Text, ';', '|', [rfReplaceAll])+')';
1255012549
@@ -15530,7 +15529,7 @@ procedure TMarkupWordSelection.BeginMarkup;
1553015529 LineText: String;
1553115530 Ranges: TWordRanges;
1553215531 Count: Integer;
15533- rx: TRegExpr ;
15532+ rx: TRegExprUmlauts ;
1553415533
1553515534 procedure AddRange(AStartCol, AEndCol: Integer);
1553615535 begin
@@ -15549,7 +15548,7 @@ procedure TMarkupWordSelection.BeginMarkup;
1554915548 L := SynEdit.Lines.Count;
1555015549 SetLength(FLineRanges, L);
1555115550
15552- rx := TRegExpr .Create;
15551+ rx := TRegExprUmlauts .Create;
1555315552 rx.Expression := '\b(' + QuoteRegExprMetaChars(FWord) + ')\b';
1555415553 rx.ModifierI := True;
1555515554
0 commit comments