summaryrefslogtreecommitdiff
path: root/source/ap/vim/patches/7.3.290
blob: b50cacfc4347edaf67a7a3a52be650efce0d30b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
To: vim_dev@googlegroups.com
Subject: Patch 7.3.290
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

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 -- Bram@Moolenaar.net -- 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    ///