aboutsummaryrefslogtreecommitdiff
path: root/rprt.md
diff options
context:
space:
mode:
Diffstat (limited to 'rprt.md')
-rw-r--r--rprt.md7
1 files changed, 5 insertions, 2 deletions
diff --git a/rprt.md b/rprt.md
index 394f994..ec65a45 100644
--- a/rprt.md
+++ b/rprt.md
@@ -138,9 +138,12 @@ The grouping operator `{}` provides transactional semantics: all operations with
**Syntax:** `{ op₁ , op₂ , ... , opₙ }`
**Semantics:**
-- Captures editor state on entry
-- All operations execute with the original positions
+- All operations compute addresses in the original, unmodified editor state
+- Changes are validated before application: they must be "in sequence" (non-overlapping and monotonically ordered on position)
+- Successive insertions at the same position are concatenated in order
+- Changes are applied atomically after all operations complete
- Returns the union of all resulting Selections
+- Any validation failure aborts the entire group
# 1.7 Composition and Parsing