diff --git a/7.0.126 b/7.0.126 new file mode 100644 index 0000000..b6dba70 --- /dev/null +++ b/7.0.126 @@ -0,0 +1,63 @@ +To: vim-dev@vim.org +Subject: Patch 7.0.126 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.0.126 +Problem: When 'formatexpr' uses setline() and later internal formatting is + used undo information is not correct. (Jiri Cerny, Benji Fisher) +Solution: Set ins_need_undo after using 'formatexpr'. +Files: src/edit.c + + +*** ../vim-7.0.125/src/edit.c Fri Oct 6 20:39:58 2006 +--- src/edit.c Tue Oct 10 12:46:04 2006 +*************** +*** 5333,5340 **** + /* 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) + #endif + internal_format(textwidth, second_indent, flags, c == NUL); + } +--- 5333,5348 ---- + /* Format with 'formatexpr' when it's set. Use internal formatting + * when 'formatexpr' isn't set or it returns non-zero. */ + #if defined(FEAT_EVAL) +! 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); + } +*** ../vim-7.0.125/src/version.c Tue Oct 10 13:27:30 2006 +--- src/version.c Tue Oct 10 15:47:20 2006 +*************** +*** 668,669 **** +--- 668,671 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 126, + /**/ + +-- +How To Keep A Healthy Level Of Insanity: +16. Have your coworkers address you by your wrestling name, Rock Hard Kim. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///