aboutsummaryrefslogtreecommitdiffhomepage
path: root/undo.cpp
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-11-08 02:21:36 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-11-08 02:21:36 +0100
commit0d01c262c0ed23ef950530c743b023e89ef4a821 (patch)
treecffd42ba85f3ef7ecf82193ce3302570507adede /undo.cpp
parent075d33912ac88aa288055ce2f4eff4273bce3d63 (diff)
downloadsciteco-0d01c262c0ed23ef950530c743b023e89ef4a821.tar.gz
support line termination ($$) as immediate editing command + some fixes
* separate function for immediate editing command processing * undo.clear() to remove and free all undo tokens without executing them * goto_table_clear() to remove and free all goto table entries
Diffstat (limited to 'undo.cpp')
-rw-r--r--undo.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/undo.cpp b/undo.cpp
index 106f812..7a58c92 100644
--- a/undo.cpp
+++ b/undo.cpp
@@ -47,6 +47,17 @@ UndoStack::pop(gint pos)
}
}
+void
+UndoStack::clear(void)
+{
+ UndoToken *cur;
+
+ while ((cur = SLIST_FIRST(&head))) {
+ SLIST_REMOVE_HEAD(&head, tokens);
+ delete cur;
+ }
+}
+
UndoStack::~UndoStack()
{
UndoToken *token, *next;