From c1a568400a0bc2c72ae0d71810bf5fd1ec1de84b Mon Sep 17 00:00:00 2001 From: Rainer Kottenhoff Date: Sat, 4 Nov 2017 13:44:52 +0100 Subject: [PATCH] + fix: consecutive DEL/BACKSP undo/redo broken (wrapped by unconditional selection undo/redo) --- src/Notepad3.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Notepad3.c b/src/Notepad3.c index 8c09d04a3..eec4af84a 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -4519,7 +4519,9 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam) case CMD_DEL: - { + if ((BOOL)SendMessage(hwndEdit, SCI_GETSELECTIONEMPTY, 0, 0)) + SendMessage(hwndEdit, SCI_CLEAR, 0, 0); + else { int token = BeginSelUndoAction(); SendMessage(hwndEdit, SCI_CLEAR, 0, 0); EndSelUndoAction(token); @@ -4528,7 +4530,9 @@ LRESULT MsgCommand(HWND hwnd,WPARAM wParam,LPARAM lParam) case CMD_BACK: - { + if ((BOOL)SendMessage(hwndEdit, SCI_GETSELECTIONEMPTY, 0, 0)) + SendMessage(hwndEdit, SCI_DELETEBACK, 0, 0); + else { int token = BeginSelUndoAction(); SendMessage(hwndEdit, SCI_DELETEBACK, 0, 0); EndSelUndoAction(token);