| 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 |
| |
| |
| |
| |
| |
| *** 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 |
| |
| |
| |
| *** 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 |
| |
| |
| |
| *** 7,12 **** |
| --- 7,22 ---- |
| eight |
| nine |
| ten |
| + one |
| + two |
| + three |
| + four |
| + five |
| + six |
| + seven |
| + eight |
| + nine |
| + ten |
| monday |
| wednesday |
| thursday |
| |
| |
| |
| *** 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 /// |