@@ -342,29 +342,35 @@ impl Document {
343 pub fn undo(&mut self, view_id: ViewId) -> bool {
343 pub fn undo(&mut self, view_id: ViewId) -> bool {
344 let mut history = self.history.take();
344 let mut history = self.history.take();
345− if let Some(transaction) = history.undo() {
345+ let success = if let Some(transaction) = history.undo() {
346− let success = self._apply(&transaction, view_id);
346+ self._apply(&transaction, view_id)
350+ self.history.set(history);
348 // reset changeset to fix len
353 // reset changeset to fix len
349 self.changes = ChangeSet::new(self.text());
354 self.changes = ChangeSet::new(self.text());
353− self.history.set(history);
356+
357 pub fn redo(&mut self, view_id: ViewId) -> bool {
360 pub fn redo(&mut self, view_id: ViewId) -> bool {
358 let mut history = self.history.take();
361 let mut history = self.history.take();
359− if let Some(transaction) = history.redo() {
362+ let success = if let Some(transaction) = history.redo() {
360− let success = self._apply(&transaction, view_id);
363+ self._apply(&transaction, view_id)
367+ self.history.set(history);
362 // reset changeset to fix len
370 // reset changeset to fix len
363 self.changes = ChangeSet::new(self.text());
371 self.changes = ChangeSet::new(self.text());
367− self.history.set(history);
373+