Fixed bug 77575: [typing] Undo is not grouped after Ctrl+X or Ctrl+Z in
linked mode
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/link/LinkedModeUI.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/link/LinkedModeUI.java
index 59c7311..5d5b115 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/link/LinkedModeUI.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/link/LinkedModeUI.java
@@ -401,6 +401,10 @@
 					return;
 				}
 			}
+
+			// Make sure that any document change is done inside a compound change
+			beginCompoundChangeIfNeeded();
+
 		}
 
 		/*
@@ -501,7 +505,7 @@
 				if (!position.equals(fPreviousPosition))
 					endCompoundChange();
 
-				beginCompoundChange();
+				beginCompoundChangeIfNeeded();
 			}
 
 			fPreviousPosition= position;
@@ -1208,7 +1212,7 @@
 		}
 	}
 
-	private void beginCompoundChange() {
+	private void beginCompoundChangeIfNeeded() {
 		if (!fHasOpenCompoundChange) {
 			ITextViewerExtension extension= (ITextViewerExtension) fCurrentTarget.getViewer();
 			IRewriteTarget target= extension.getRewriteTarget();