[Winmerge-svn] SF.net SVN: winmerge:[5712] trunk
Windows visual diff and merge for files and directories
Brought to you by:
christianlist,
grimmdp
From: <ki...@us...> - 2008-08-01 06:44:03
|
Revision: 5712 http://winmerge.svn.sourceforge.net/winmerge/?rev=5712&view=rev Author: kimmov Date: 2008-08-01 06:44:00 +0000 (Fri, 01 Aug 2008) Log Message: ----------- PATCH: [ 2033754 ] Unlimited undo Modified Paths: -------------- trunk/Docs/Users/ChangeLog.txt trunk/Src/DiffTextBuffer.cpp trunk/Src/editlib/ccrystaltextbuffer.cpp trunk/Src/editlib/ccrystaltextbuffer.h Modified: trunk/Docs/Users/ChangeLog.txt =================================================================== --- trunk/Docs/Users/ChangeLog.txt 2008-07-31 19:35:03 UTC (rev 5711) +++ trunk/Docs/Users/ChangeLog.txt 2008-08-01 06:44:00 UTC (rev 5712) @@ -9,6 +9,7 @@ Remove RCLocalizationHelper plugin (#2029457) Clarify Supercopier caused hang in release notes (#2030040) Improve tree mode in folder compare (#2018836) + Unlimited undo (#2033754) BugFix: Could change syntax highlight mode when highlighting was disabled from options (#2027325) BugFix: Editing line filters updated wrong filter (#2025130) Modified: trunk/Src/DiffTextBuffer.cpp =================================================================== --- trunk/Src/DiffTextBuffer.cpp 2008-07-31 19:35:03 UTC (rev 5711) +++ trunk/Src/DiffTextBuffer.cpp 2008-08-01 06:44:00 UTC (rev 5712) @@ -460,7 +460,6 @@ m_bInit = TRUE; m_bModified = FALSE; m_bUndoGroup = m_bUndoBeginGroup = FALSE; - m_nUndoBufSize = 1024; // crystaltextbuffer.cpp - UNDO_BUF_SIZE; m_nSyncPosition = m_nUndoPosition = 0; ASSERT(m_aUndoBuf.GetSize() == 0); m_ptLastChange.x = m_ptLastChange.y = -1; Modified: trunk/Src/editlib/ccrystaltextbuffer.cpp =================================================================== --- trunk/Src/editlib/ccrystaltextbuffer.cpp 2008-07-31 19:35:03 UTC (rev 5711) +++ trunk/Src/editlib/ccrystaltextbuffer.cpp 2008-08-01 06:44:00 UTC (rev 5712) @@ -79,8 +79,6 @@ #define CHAR_ALIGN 16 #define ALIGN_BUF_SIZE(size) ((size) / CHAR_ALIGN) * CHAR_ALIGN + CHAR_ALIGN; -#define UNDO_BUF_SIZE 1024 - const TCHAR crlf[] = _T ("\r\n"); #ifdef _DEBUG @@ -402,7 +400,6 @@ m_nTabSize = 4; m_nSyncPosition = m_nUndoPosition = 0; m_bUndoGroup = m_bUndoBeginGroup = FALSE; - m_nUndoBufSize = UNDO_BUF_SIZE; ASSERT (m_aUndoBuf.GetSize () == 0); UpdateViews (NULL, NULL, UPDATE_RESET); //BEGIN SW @@ -1605,45 +1602,6 @@ m_aUndoBuf.SetSize (m_nUndoPosition); } - // If undo buffer size is close to critical, remove the oldest records - ASSERT (m_aUndoBuf.GetSize () <= m_nUndoBufSize); - nBufSize = (int) m_aUndoBuf.GetSize (); - if (nBufSize >= m_nUndoBufSize) - { - int nIndex = 0; - for (;;) - { - nIndex++; - if (nIndex == nBufSize || (m_aUndoBuf[nIndex].m_dwFlags & UNDO_BEGINGROUP) != 0) - break; - } - m_aUndoBuf.RemoveAt (0, nIndex); - -//<jtuc 2003-06-28> -//- Keep m_nSyncPosition in sync. -//- Ensure first undo record is flagged UNDO_BEGINGROUP since part of the code -// relies on this condition. - if (m_nSyncPosition >= 0) - { - m_nSyncPosition -= nIndex; // \xE7\xE0 c'est bien...mais non, test inutile ? Ou Apres ! - } - if (nIndex < nBufSize) - { - // Not really necessary as long as groups are discarded as a whole. - // Just in case some day the loop above should be changed to limit - // the number of discarded undo records to some reasonable value... - m_aUndoBuf[0].m_dwFlags |= UNDO_BEGINGROUP; // \xE7\xE0 c'est sale - } - else - { - // No undo records left - begin a new group: - m_bUndoBeginGroup = TRUE; - } -//</jtuc> - - } - ASSERT (m_aUndoBuf.GetSize () < m_nUndoBufSize); - // Add new record SUndoRecord ur; ur.m_dwFlags = bInsert ? UNDO_INSERT : 0; @@ -1660,8 +1618,6 @@ m_aUndoBuf.Add (ur); m_nUndoPosition = (int) m_aUndoBuf.GetSize (); - - ASSERT (m_aUndoBuf.GetSize () <= m_nUndoBufSize); } LPCTSTR CCrystalTextBuffer::GetStringEol(CRLFSTYLE nCRLFMode) Modified: trunk/Src/editlib/ccrystaltextbuffer.h =================================================================== --- trunk/Src/editlib/ccrystaltextbuffer.h 2008-07-31 19:35:03 UTC (rev 5711) +++ trunk/Src/editlib/ccrystaltextbuffer.h 2008-08-01 06:44:00 UTC (rev 5712) @@ -118,7 +118,6 @@ CRLFSTYLE m_nCRLFMode; BOOL m_IgnoreEol; BOOL m_bCreateBackupFile; - int m_nUndoBufSize; BOOL m_bInsertTabs; int m_nTabSize; int FindLineWithFlag (DWORD dwFlag); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |