116 lines
3.4 KiB
Plaintext
116 lines
3.4 KiB
Plaintext
To: vim_dev@googlegroups.com
|
||
Subject: Patch 7.3.392
|
||
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.392
|
||
Problem: When setting 'undofile' while the file is already loaded but
|
||
unchanged, try reading the undo file. (Andy Wokula)
|
||
Solution: Compute a checksum of the text when 'undofile' is set. (Christian
|
||
Brabandt)
|
||
Files: src/option.c, src/testdir/test72.in, src/testdir/test72.ok
|
||
|
||
|
||
*** ../vim-7.3.391/src/option.c 2011-11-30 11:31:25.000000000 +0100
|
||
--- src/option.c 2012-01-04 19:34:11.000000000 +0100
|
||
***************
|
||
*** 7516,7521 ****
|
||
--- 7516,7545 ----
|
||
compatible_set();
|
||
}
|
||
|
||
+ #ifdef FEAT_PERSISTENT_UNDO
|
||
+ /* 'undofile' */
|
||
+ else if ((int *)varp == &curbuf->b_p_udf || (int *)varp == &p_udf)
|
||
+ {
|
||
+ char_u hash[UNDO_HASH_SIZE];
|
||
+ buf_T *save_curbuf = curbuf;
|
||
+
|
||
+ for (curbuf = firstbuf; curbuf != NULL; curbuf = curbuf->b_next)
|
||
+ {
|
||
+ /* When 'undofile' is set globally: for every buffer, otherwise
|
||
+ * only for the current buffer: Try to read in the undofile, if
|
||
+ * one exists and the buffer wasn't changed. */
|
||
+ if ((curbuf == save_curbuf
|
||
+ || (opt_flags & OPT_GLOBAL) || opt_flags == 0)
|
||
+ && !curbufIsChanged())
|
||
+ {
|
||
+ u_compute_hash(hash);
|
||
+ u_read_undo(NULL, hash, curbuf->b_fname);
|
||
+ }
|
||
+ }
|
||
+ curbuf = save_curbuf;
|
||
+ }
|
||
+ #endif
|
||
+
|
||
/* 'list', 'number' */
|
||
else if ((int *)varp == &curwin->w_p_list
|
||
|| (int *)varp == &curwin->w_p_nu
|
||
*** ../vim-7.3.391/src/testdir/test72.in 2010-08-15 21:57:29.000000000 +0200
|
||
--- src/testdir/test72.in 2012-01-04 19:04:17.000000000 +0100
|
||
***************
|
||
*** 51,56 ****
|
||
--- 51,62 ----
|
||
:e Xtestfile
|
||
uuu:w >>test.out
|
||
:"
|
||
+ :" Test that reading the undofiles when setting undofile works
|
||
+ :set noundofile ul=0
|
||
+ i
|
||
+ u:e! Xtestfile
|
||
+ :set undofile ul=100
|
||
+ uuuuuu:w >>test.out
|
||
:" And now with encryption, cryptmethod=zip
|
||
:e! Xtestfile
|
||
:set undofile cm=zip
|
||
*** ../vim-7.3.391/src/testdir/test72.ok 2010-08-15 21:57:29.000000000 +0200
|
||
--- src/testdir/test72.ok 2012-01-04 19:04:17.000000000 +0100
|
||
***************
|
||
*** 7,12 ****
|
||
--- 7,22 ----
|
||
eight
|
||
nine
|
||
ten
|
||
+ one
|
||
+ two
|
||
+ three
|
||
+ four
|
||
+ five
|
||
+ six
|
||
+ seven
|
||
+ eight
|
||
+ nine
|
||
+ ten
|
||
monday
|
||
wednesday
|
||
thursday
|
||
*** ../vim-7.3.391/src/version.c 2012-01-04 14:35:31.000000000 +0100
|
||
--- src/version.c 2012-01-04 19:33:41.000000000 +0100
|
||
***************
|
||
*** 716,717 ****
|
||
--- 716,719 ----
|
||
{ /* Add new patch number below this line */
|
||
+ /**/
|
||
+ 392,
|
||
/**/
|
||
|
||
--
|
||
BROTHER MAYNARD: Armaments Chapter Two Verses Nine to Twenty One.
|
||
ANOTHER MONK: And St. Attila raised his hand grenade up on high saying "O
|
||
Lord bless this thy hand grenade that with it thou mayest
|
||
blow thine enemies to tiny bits, in thy mercy. "and the Lord
|
||
did grin and people did feast upon the lambs and sloths and
|
||
carp and anchovies and orang-utans and breakfast cereals and
|
||
fruit bats and...
|
||
BROTHER MAYNARD: Skip a bit brother ...
|
||
"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 ///
|