To: vim_dev@googlegroups.com Subject: Patch 7.3.523 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.523 Problem: ":diffupdate" doesn't check for files changed elsewhere. Solution: Add the ! flag. (Christian Brabandt) Files: runtime/doc/diff.txt, src/diff.c, src/ex_cmds.h *** ../vim-7.3.522/runtime/doc/diff.txt 2010-08-15 21:57:16.000000000 +0200 --- runtime/doc/diff.txt 2012-05-18 18:41:49.000000000 +0200 *************** *** 178,184 **** nodiff" before hiding it. *:diffu* *:diffupdate* ! :diffu[pdate] Update the diff highlighting and folds. Vim attempts to keep the differences updated when you make changes to the text. This mostly takes care of inserted and deleted lines. Changes within a --- 178,184 ---- nodiff" before hiding it. *:diffu* *:diffupdate* ! :diffu[pdate][!] Update the diff highlighting and folds. Vim attempts to keep the differences updated when you make changes to the text. This mostly takes care of inserted and deleted lines. Changes within a *************** *** 187,192 **** --- 187,195 ---- :diffupdate + If the ! is included Vim will check if the file was changed externally and + needs to be reloaded. It will prompt for each changed file, like `:checktime` + was used. Vim will show filler lines for lines that are missing in one window but are present in another. These lines were inserted in another file or deleted in *** ../vim-7.3.522/src/diff.c 2010-09-21 16:56:29.000000000 +0200 --- src/diff.c 2012-05-18 18:45:09.000000000 +0200 *************** *** 783,788 **** --- 783,797 ---- goto theend; } + /* :diffupdate! */ + if (eap != NULL && eap->forceit) + for (idx_new = idx_orig; idx_new < DB_COUNT; ++idx_new) + { + buf = curtab->tp_diffbuf[idx_new]; + if (buf_valid(buf)) + buf_check_timestamp(buf, FALSE); + } + /* Write the first buffer to a tempfile. */ buf = curtab->tp_diffbuf[idx_orig]; if (diff_write(buf, tmp_orig) == FAIL) *** ../vim-7.3.522/src/ex_cmds.h 2012-02-13 00:01:38.000000000 +0100 --- src/ex_cmds.h 2012-05-18 18:37:56.000000000 +0200 *************** *** 304,310 **** EX(CMD_display, "display", ex_display, EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN), EX(CMD_diffupdate, "diffupdate", ex_diffupdate, ! TRLBAR), EX(CMD_diffget, "diffget", ex_diffgetput, RANGE|EXTRA|TRLBAR|MODIFY), EX(CMD_diffoff, "diffoff", ex_diffoff, --- 304,310 ---- EX(CMD_display, "display", ex_display, EXTRA|NOTRLCOM|TRLBAR|SBOXOK|CMDWIN), EX(CMD_diffupdate, "diffupdate", ex_diffupdate, ! BANG|TRLBAR), EX(CMD_diffget, "diffget", ex_diffgetput, RANGE|EXTRA|TRLBAR|MODIFY), EX(CMD_diffoff, "diffoff", ex_diffoff, *** ../vim-7.3.522/src/version.c 2012-05-18 18:34:15.000000000 +0200 --- src/version.c 2012-05-18 18:39:13.000000000 +0200 *************** *** 716,717 **** --- 716,719 ---- { /* Add new patch number below this line */ + /**/ + 523 /**/ -- "The future's already arrived - it's just not evenly distributed yet." -- William Gibson /// 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 ///