summaryrefslogtreecommitdiff
path: root/src/normal.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-11-05 21:55:13 +0100
committerBram Moolenaar <Bram@vim.org>2016-11-05 21:55:13 +0100
commit4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5 (patch)
tree8857e7b1f4bc103cb64e7f625b2ea16b267801d5 /src/normal.c
parent40d3f137e751c0e9f5e7e6a587b93a52dd833d04 (diff)
downloadvim-git-4a08b0dc4dd70334056fc1bf069b5e938f2ed7d5.tar.gz
patch 8.0.0066v8.0.0066
Problem: when calling an operator function when 'linebreak' is set, it is internally reset before calling the operator function. Solution: Restore 'linebreak' before calling op_function(). (Christian Brabandt)
Diffstat (limited to 'src/normal.c')
-rw-r--r--src/normal.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/normal.c b/src/normal.c
index f5e5475f3..5d0796f47 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -1995,6 +1995,11 @@ do_pending_operator(cmdarg_T *cap, int old_col, int gui_yank)
break;
case OP_FUNCTION:
+#ifdef FEAT_LINEBREAK
+ /* Restore linebreak, so that when the user edits it looks as
+ * before. */
+ curwin->w_p_lbr = lbr_saved;
+#endif
op_function(oap); /* call 'operatorfunc' */
break;