summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormongo <mongo@iomega>2017-02-13 12:41:56 -0300
committermongo <mongo@iomega>2017-02-13 12:41:56 -0300
commit3a474b57aae13e0c1114cc9b787fe1524ea5b0ab (patch)
tree84281cadafaaec1eb3ebc77d5b8ab4b4d46d41d9
parentf15c82c5b891eeb7373be904f4764de5b5bbde99 (diff)
Changes to fix # 144
-rw-r--r--src/cmds_normal.c4
-rw-r--r--src/yank.c11
2 files changed, 10 insertions, 5 deletions
diff --git a/src/cmds_normal.c b/src/cmds_normal.c
index 77550bc..48b636e 100644
--- a/src/cmds_normal.c
+++ b/src/cmds_normal.c
@@ -504,7 +504,9 @@ void do_normalmode(struct block * buf) {
n->row += currow - get_mark(buf->pnext->value)->row;
n->col += c1 - get_mark(buf->pnext->value)->col;
+
n->flags |= is_changed;
+ if (n->expr) EvalJustOneVertex(n, n->row, n->col, 1);
#ifdef UNDO
copy_to_undostruct(currow, c1, currow, c1, 'a');
#endif
@@ -514,7 +516,7 @@ void do_normalmode(struct block * buf) {
#endif
}
- if (atoi(get_conf_value("autocalc"))) EvalAll();
+ //if (atoi(get_conf_value("autocalc"))) EvalAll();
update(TRUE);
break;
}
diff --git a/src/yank.c b/src/yank.c
index 3e284bd..c091c77 100644
--- a/src/yank.c
+++ b/src/yank.c
@@ -8,6 +8,7 @@
#include "stdlib.h"
#include "marks.h"
#include "cmds.h"
+#include "dep_graph.h"
#include "xmalloc.h" // for scxfree
#ifdef UNDO
@@ -238,16 +239,18 @@ int paste_yanked_ents(int above, int type_paste) {
destino->row += diffr;
destino->col += diffc;
+ if (type_paste == 'c' && destino->expr) {
+ EvalJustOneVertex(destino, destino->row, destino->col, 1);
+ }
+
#ifdef UNDO
copy_to_undostruct(yl->row + diffr, yl->col + diffc, yl->row + diffr, yl->col + diffc, 'a');
#endif
yl = yl->next;
}
- if (type_paste == 'c') {
- sync_refs();
- EvalAll();
- }
+ //EvalAll();
+ sync_refs();
#ifdef UNDO
end_undo_action();