diff options
author | Bram Moolenaar <Bram@vim.org> | 2006-10-10 13:49:10 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2006-10-10 13:49:10 +0000 |
commit | f3442e7274af69e95a1c68d346c7a01de5190424 (patch) | |
tree | dd9068f7d53c0510a38e7237ff3c3e03590811d9 /src/edit.c | |
parent | 6179c6182793e87e11d4844e4a7942be08376baf (diff) | |
download | vim-git-f3442e7274af69e95a1c68d346c7a01de5190424.tar.gz |
updated for version 7.0-126v7.0.126
Diffstat (limited to 'src/edit.c')
-rw-r--r-- | src/edit.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/edit.c b/src/edit.c index 43a4c39a7..f0aecef20 100644 --- a/src/edit.c +++ b/src/edit.c @@ -5333,8 +5333,16 @@ insertchar(c, flags, second_indent) /* Format with 'formatexpr' when it's set. Use internal formatting * when 'formatexpr' isn't set or it returns non-zero. */ #if defined(FEAT_EVAL) - if (*curbuf->b_p_fex == NUL - || fex_format(curwin->w_cursor.lnum, 1L, c) != 0) + int do_internal = TRUE; + + if (*curbuf->b_p_fex != NUL) + { + do_internal = (fex_format(curwin->w_cursor.lnum, 1L, c) != 0); + /* It may be required to save for undo again, e.g. when setline() + * was called. */ + ins_need_undo = TRUE; + } + if (do_internal) #endif internal_format(textwidth, second_indent, flags, c == NUL); } |