@@ -459,11 +459,11 @@ impl Transaction {
461 /// Generate a transaction from a set of changes.
461 /// Generate a transaction from a set of changes.
462− pub fn change<I>(state: &State, changes: I) -> Self
462+ pub fn change<I>(doc: &Rope, changes: I) -> Self
464 I: IntoIterator<Item = Change> + ExactSizeIterator,
464 I: IntoIterator<Item = Change> + ExactSizeIterator,
466− let len = state.doc.len_chars();
466+ let len = doc.len_chars();
467 let acc = Vec::with_capacity(2 * changes.len() + 1);
467 let acc = Vec::with_capacity(2 * changes.len() + 1);
468 let mut changeset = ChangeSet { changes: acc, len };
468 let mut changeset = ChangeSet { changes: acc, len };
@@ -494,7 +494,7 @@ impl Transaction {
495 F: FnMut(&Range) -> Change,
495 F: FnMut(&Range) -> Change,
497− Self::change(state, state.selection.ranges().iter().map(f))
497+ Self::change(&state.doc, state.selection.ranges().iter().map(f))
500 /// Insert text at each selection head.
500 /// Insert text at each selection head.
@@ -617,7 +617,7 @@ mod test {
617 fn transaction_change() {
617 fn transaction_change() {
618 let mut state = State::new("hello world!\ntest 123".into());
618 let mut state = State::new("hello world!\ntest 123".into());
619 let transaction = Transaction::change(
619 let transaction = Transaction::change(
620− &state,
620+ &state.doc,
621 // (1, 1, None) is a useless 0-width delete
621 // (1, 1, None) is a useless 0-width delete
622 vec![(1, 1, None), (6, 11, Some("void".into())), (12, 17, None)].into_iter(),
622 vec![(1, 1, None), (6, 11, Some("void".into())), (12, 17, None)].into_iter(),