Patch 7.3.290
Problem: When a BufWriteCmd autocommand resets 'modified' this doesn't
change older buffer states to be marked as 'modified' like
":write" does. (Yukihiro Nakadaira)
Solution: When the BufWriteCmd resets 'modified' then adjust the undo
information like ":write" does.
Files: src/fileio.c
*** ../vim-7.3.289/src/fileio.c 2011-07-20 18:29:33.000000000 +0200
--- src/fileio.c 2011-08-29 21:49:27.000000000 +0200
***************
*** 3342,3349 ****
}
else if (reset_changed && whole)
{
! if (!(did_cmd = apply_autocmds_exarg(EVENT_BUFWRITECMD,
! sfname, sfname, FALSE, curbuf, eap)))
{
#ifdef FEAT_QUICKFIX
if (overwriting && bt_nofile(curbuf))
--- 3342,3363 ----
}
else if (reset_changed && whole)
{
! int was_changed = curbufIsChanged();
!
! did_cmd = apply_autocmds_exarg(EVENT_BUFWRITECMD,
! sfname, sfname, FALSE, curbuf, eap);
! if (did_cmd)
! {
! if (was_changed && !curbufIsChanged())
! {
! /* Written everything correctly and BufWriteCmd has reset
! * 'modified': Correct the undo information so that an
! * undo now sets 'modified'. */
! u_unchanged(curbuf);
! u_update_save_nr(curbuf);
! }
! }
! else
{
#ifdef FEAT_QUICKFIX
if (overwriting && bt_nofile(curbuf))
*** ../vim-7.3.289/src/version.c 2011-08-28 16:02:23.000000000 +0200
--- src/version.c 2011-09-02 11:37:25.000000000 +0200
***************
*** 711,712 ****
--- 711,714 ----
{ /* Add new patch number below this line */
+ /**/
+ 290,
/**/
--
OLD WOMAN: Well, how did you become king, then?
ARTHUR: The Lady of the Lake, her arm clad in the purest shimmering samite,
held Excalibur aloft from the bosom of the water to signify by Divine
Providence ... that I, Arthur, was to carry Excalibur ... That is
why I am your king!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php