aboutsummaryrefslogtreecommitdiffhomepage
path: root/parser.cpp
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-11-19 15:42:33 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-11-20 06:07:32 +0100
commit39cb3b36cbac59c938acf6b71cbb3087f0fca5b4 (patch)
treebd362fd25dcf3ce954c4af877a05fcb5d8ef1d73 /parser.cpp
parent9d8b90f654b5777f5c9d402fda445088f9fe374f (diff)
downloadsciteco-39cb3b36cbac59c938acf6b71cbb3087f0fca5b4.tar.gz
ED flags making 0-Register hook execution configurable
* teco.ini updated as well
Diffstat (limited to 'parser.cpp')
-rw-r--r--parser.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/parser.cpp b/parser.cpp
index cfeebd0..6c73d3e 100644
--- a/parser.cpp
+++ b/parser.cpp
@@ -1075,6 +1075,20 @@ StateECommand::custom(gchar chr) throw (Error)
ring.close();
break;
+ case 'D':
+ BEGIN_EXEC(&States::start);
+ expressions.eval();
+ if (!expressions.args()) {
+ expressions.push(Flags::ed);
+ } else {
+ gint64 on = expressions.pop_num_calc();
+ gint64 off = expressions.pop_num_calc(1, ~(gint64)0);
+
+ undo.push_var(Flags::ed);
+ Flags::ed = (Flags::ed & ~off) | on;
+ }
+ break;
+
case 'X':
BEGIN_EXEC(&States::start);