release 1.10.6
[descalc.git] / 28_undo.pm
diff --git a/28_undo.pm b/28_undo.pm
new file mode 100644 (file)
index 0000000..8a80fc7
--- /dev/null
@@ -0,0 +1,22 @@
+# key bindings for DCT, by Shiar
+
+# 1.10.1 200410150000 - single-level undo from main
+#     .2 200410150045 - set initial value to prevent crash when no undos set
+
+use strict;
+use warnings;
+
+my $undo = [];
+
+push @{$hook{preaction}}, sub {
+       $undo = [@stack] if $_[0]>=0;  # type>=0 for stack-modifying operations
+}; # preaction
+
+$action{undo}  = [-1, sub { ($undo, @stack) = ([@stack], @$undo) }]; # undo/redo
+
+return {
+       author  => "Shiar",
+       title   => "simple undo",
+       version => "1.10.2",
+};
+