Sorry,

without sophisticated optimizations (which are outside of the scope of 1.5.X), several CT-related LFUNs are always enabled.

The attached patch has already been committed.

Michael
Index: text3.C
===================================================================
--- text3.C	(Revision 16028)
+++ text3.C	(Arbeitskopie)
@@ -1742,7 +1742,13 @@
 
 	case LFUN_CHANGE_ACCEPT:
 	case LFUN_CHANGE_REJECT:
-		enable = true; // FIXME: Change tracking (MG)
+		// TODO: context-sensitive enabling of LFUN_CHANGE_ACCEPT/REJECT
+		// In principle, these LFUNs should only be enabled if there
+		// is a change at the current position/in the current selection.
+		// However, without proper optimizations, this will inevitably
+		// result in unacceptable performance - just imagine a user who
+		// wants to select the complete content of a long document.
+		enable = true;
 		break;
 
 	case LFUN_WORD_DELETE_FORWARD:
Index: BufferView.C
===================================================================
--- BufferView.C	(Revision 16028)
+++ BufferView.C	(Arbeitskopie)
@@ -653,7 +653,11 @@
 	case LFUN_CHANGE_NEXT:
 	case LFUN_ALL_CHANGES_ACCEPT:
 	case LFUN_ALL_CHANGES_REJECT:
-		flag.enabled(buffer_); // FIXME: Change tracking (MG)
+		// TODO: context-sensitive enabling of LFUNs
+		// In principle, these command should only be enabled if there
+		// is a change in the document. However, without proper
+		// optimizations, this will inevitably result in poor performance.
+		flag.enabled(buffer_);
 		break;
 
 	case LFUN_BUFFER_TOGGLE_COMPRESSION: {

Reply via email to