From fae2c9912f000b1768cb09fc88667b69bd4a5318 Mon Sep 17 00:00:00 2001 From: martin Date: Sat, 25 Jul 2009 23:52:08 +0000 Subject: [PATCH] SynEdit: Small optimization to the undo system git-svn-id: trunk@20958 - --- components/synedit/synedittexttrimmer.pas | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/components/synedit/synedittexttrimmer.pas b/components/synedit/synedittexttrimmer.pas index 715b3fa0c6..ab814f790e 100644 --- a/components/synedit/synedittexttrimmer.pas +++ b/components/synedit/synedittexttrimmer.pas @@ -704,7 +704,8 @@ begin StoreSpacesForLine(LogY - 1, copy(s,1, LogX - 1) + copy(s, LogX + ByteLen, length(s)), fSynStrings.Strings[LogY - 1]); - UndoList.AddChange(TSynEditUndoTrimDelete.Create(LogX, LogY, Result)); + if Result <> '' then + UndoList.AddChange(TSynEditUndoTrimDelete.Create(LogX, LogY, Result)); end; procedure TSynEditStringTrimmingList.EditMoveToTrim(LogY, Len: Integer); @@ -820,7 +821,7 @@ begin Len := length(t); IgnoreSendNotification(senrEditAction, True); - // Delete uncommited spaces + // Delete uncommited spaces (could laso be ByteLen too big, due to past EOL) if LogX + ByteLen > Len + 1 then begin if LogX > Len + 1 then ByteLen := ByteLen - (LogX - (Len + 1));