diff options
Diffstat (limited to 'data/vim/patches/8.1.0397')
-rw-r--r-- | data/vim/patches/8.1.0397 | 335 |
1 files changed, 335 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0397 b/data/vim/patches/8.1.0397 new file mode 100644 index 000000000..3fab4180c --- /dev/null +++ b/data/vim/patches/8.1.0397 @@ -0,0 +1,335 @@ +To: vim_dev@googlegroups.com +Subject: Patch 8.1.0397 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 8.1.0397 +Problem: No event triggered after updating diffs. +Solution: Add the DiffUpdated event. +Files: src/vim.h, src/diff.c, src/fileio.c, + src/testdir/test_diffmode.vim, runtime/doc/autocmd.txt + + +*** ../vim-8.1.0396/src/vim.h 2018-09-13 17:26:31.091401618 +0200 +--- src/vim.h 2018-09-16 15:28:57.984413860 +0200 +*************** +*** 1251,1354 **** + */ + enum auto_event + { +! EVENT_BUFADD = 0, /* after adding a buffer to the buffer list */ +! EVENT_BUFDELETE, /* deleting a buffer from the buffer list */ +! EVENT_BUFENTER, /* after entering a buffer */ +! EVENT_BUFFILEPOST, /* after renaming a buffer */ +! EVENT_BUFFILEPRE, /* before renaming a buffer */ +! EVENT_BUFHIDDEN, /* just after buffer becomes hidden */ +! EVENT_BUFLEAVE, /* before leaving a buffer */ +! EVENT_BUFNEW, /* after creating any buffer */ +! EVENT_BUFNEWFILE, /* when creating a buffer for a new file */ +! EVENT_BUFREADCMD, /* read buffer using command */ +! EVENT_BUFREADPOST, /* after reading a buffer */ +! EVENT_BUFREADPRE, /* before reading a buffer */ +! EVENT_BUFUNLOAD, /* just before unloading a buffer */ +! EVENT_BUFWINENTER, /* after showing a buffer in a window */ +! EVENT_BUFWINLEAVE, /* just after buffer removed from window */ +! EVENT_BUFWIPEOUT, /* just before really deleting a buffer */ +! EVENT_BUFWRITECMD, /* write buffer using command */ +! EVENT_BUFWRITEPOST, /* after writing a buffer */ +! EVENT_BUFWRITEPRE, /* before writing a buffer */ +! EVENT_CMDLINECHANGED, /* command line was modified*/ +! EVENT_CMDLINEENTER, /* after entering the command line */ +! EVENT_CMDLINELEAVE, /* before leaving the command line */ +! EVENT_CMDUNDEFINED, /* command undefined */ +! EVENT_CMDWINENTER, /* after entering the cmdline window */ +! EVENT_CMDWINLEAVE, /* before leaving the cmdline window */ +! EVENT_COLORSCHEME, /* after loading a colorscheme */ +! EVENT_COLORSCHEMEPRE, /* before loading a colorscheme */ +! EVENT_COMPLETEDONE, /* after finishing insert complete */ +! EVENT_CURSORHOLD, /* cursor in same position for a while */ +! EVENT_CURSORHOLDI, /* idem, in Insert mode */ +! EVENT_CURSORMOVED, /* cursor was moved */ +! EVENT_CURSORMOVEDI, /* cursor was moved in Insert mode */ +! EVENT_DIRCHANGED, /* after user changed directory */ +! EVENT_ENCODINGCHANGED, /* after changing the 'encoding' option */ +! EVENT_EXITPRE, /* before exiting */ +! EVENT_FILEAPPENDCMD, /* append to a file using command */ +! EVENT_FILEAPPENDPOST, /* after appending to a file */ +! EVENT_FILEAPPENDPRE, /* before appending to a file */ +! EVENT_FILECHANGEDRO, /* before first change to read-only file */ +! EVENT_FILECHANGEDSHELL, /* after shell command that changed file */ +! EVENT_FILECHANGEDSHELLPOST, /* after (not) reloading changed file */ +! EVENT_FILEREADCMD, /* read from a file using command */ +! EVENT_FILEREADPOST, /* after reading a file */ +! EVENT_FILEREADPRE, /* before reading a file */ +! EVENT_FILETYPE, /* new file type detected (user defined) */ +! EVENT_FILEWRITECMD, /* write to a file using command */ +! EVENT_FILEWRITEPOST, /* after writing a file */ +! EVENT_FILEWRITEPRE, /* before writing a file */ +! EVENT_FILTERREADPOST, /* after reading from a filter */ +! EVENT_FILTERREADPRE, /* before reading from a filter */ +! EVENT_FILTERWRITEPOST, /* after writing to a filter */ +! EVENT_FILTERWRITEPRE, /* before writing to a filter */ +! EVENT_FOCUSGAINED, /* got the focus */ +! EVENT_FOCUSLOST, /* lost the focus to another app */ +! EVENT_FUNCUNDEFINED, /* if calling a function which doesn't exist */ +! EVENT_GUIENTER, /* after starting the GUI */ +! EVENT_GUIFAILED, /* after starting the GUI failed */ +! EVENT_INSERTCHANGE, /* when changing Insert/Replace mode */ +! EVENT_INSERTCHARPRE, /* before inserting a char */ +! EVENT_INSERTENTER, /* when entering Insert mode */ +! EVENT_INSERTLEAVE, /* when leaving Insert mode */ +! EVENT_MENUPOPUP, /* just before popup menu is displayed */ +! EVENT_OPTIONSET, /* option was set */ +! EVENT_QUICKFIXCMDPOST, /* after :make, :grep etc. */ +! EVENT_QUICKFIXCMDPRE, /* before :make, :grep etc. */ +! EVENT_QUITPRE, /* before :quit */ +! EVENT_REMOTEREPLY, /* upon string reception from a remote vim */ +! EVENT_SESSIONLOADPOST, /* after loading a session file */ +! EVENT_SHELLCMDPOST, /* after ":!cmd" */ +! EVENT_SHELLFILTERPOST, /* after ":1,2!cmd", ":w !cmd", ":r !cmd". */ +! EVENT_SOURCECMD, /* sourcing a Vim script using command */ +! EVENT_SOURCEPRE, /* before sourcing a Vim script */ +! EVENT_SPELLFILEMISSING, /* spell file missing */ +! EVENT_STDINREADPOST, /* after reading from stdin */ +! EVENT_STDINREADPRE, /* before reading from stdin */ +! EVENT_SWAPEXISTS, /* found existing swap file */ +! EVENT_SYNTAX, /* syntax selected */ +! EVENT_TABCLOSED, /* after closing a tab page */ +! EVENT_TABENTER, /* after entering a tab page */ +! EVENT_TABLEAVE, /* before leaving a tab page */ +! EVENT_TABNEW, /* when entering a new tab page */ +! EVENT_TERMCHANGED, /* after changing 'term' */ +! EVENT_TERMINALOPEN, /* after a terminal buffer was created */ +! EVENT_TERMRESPONSE, /* after setting "v:termresponse" */ +! EVENT_TEXTCHANGED, /* text was modified not in Insert mode */ +! EVENT_TEXTCHANGEDI, /* text was modified in Insert mode */ +! EVENT_TEXTCHANGEDP, /* TextChangedI with popup menu visible */ +! EVENT_TEXTYANKPOST, /* after some text was yanked */ +! EVENT_USER, /* user defined autocommand */ +! EVENT_VIMENTER, /* after starting Vim */ +! EVENT_VIMLEAVE, /* before exiting Vim */ +! EVENT_VIMLEAVEPRE, /* before exiting Vim and writing .viminfo */ +! EVENT_VIMRESIZED, /* after Vim window was resized */ +! EVENT_WINENTER, /* after entering a window */ +! EVENT_WINLEAVE, /* before leaving a window */ +! EVENT_WINNEW, /* when entering a new window */ + +! NUM_EVENTS /* MUST be the last one */ + }; + + typedef enum auto_event event_T; +--- 1251,1355 ---- + */ + enum auto_event + { +! EVENT_BUFADD = 0, // after adding a buffer to the buffer list +! EVENT_BUFDELETE, // deleting a buffer from the buffer list +! EVENT_BUFENTER, // after entering a buffer +! EVENT_BUFFILEPOST, // after renaming a buffer +! EVENT_BUFFILEPRE, // before renaming a buffer +! EVENT_BUFHIDDEN, // just after buffer becomes hidden +! EVENT_BUFLEAVE, // before leaving a buffer +! EVENT_BUFNEW, // after creating any buffer +! EVENT_BUFNEWFILE, // when creating a buffer for a new file +! EVENT_BUFREADCMD, // read buffer using command +! EVENT_BUFREADPOST, // after reading a buffer +! EVENT_BUFREADPRE, // before reading a buffer +! EVENT_BUFUNLOAD, // just before unloading a buffer +! EVENT_BUFWINENTER, // after showing a buffer in a window +! EVENT_BUFWINLEAVE, // just after buffer removed from window +! EVENT_BUFWIPEOUT, // just before really deleting a buffer +! EVENT_BUFWRITECMD, // write buffer using command +! EVENT_BUFWRITEPOST, // after writing a buffer +! EVENT_BUFWRITEPRE, // before writing a buffer +! EVENT_CMDLINECHANGED, // command line was modified*/ +! EVENT_CMDLINEENTER, // after entering the command line +! EVENT_CMDLINELEAVE, // before leaving the command line +! EVENT_CMDUNDEFINED, // command undefined +! EVENT_CMDWINENTER, // after entering the cmdline window +! EVENT_CMDWINLEAVE, // before leaving the cmdline window +! EVENT_COLORSCHEME, // after loading a colorscheme +! EVENT_COLORSCHEMEPRE, // before loading a colorscheme +! EVENT_COMPLETEDONE, // after finishing insert complete +! EVENT_CURSORHOLD, // cursor in same position for a while +! EVENT_CURSORHOLDI, // idem, in Insert mode +! EVENT_CURSORMOVED, // cursor was moved +! EVENT_CURSORMOVEDI, // cursor was moved in Insert mode +! EVENT_DIFFUPDATED, // after diffs were updated +! EVENT_DIRCHANGED, // after user changed directory +! EVENT_ENCODINGCHANGED, // after changing the 'encoding' option +! EVENT_EXITPRE, // before exiting +! EVENT_FILEAPPENDCMD, // append to a file using command +! EVENT_FILEAPPENDPOST, // after appending to a file +! EVENT_FILEAPPENDPRE, // before appending to a file +! EVENT_FILECHANGEDRO, // before first change to read-only file +! EVENT_FILECHANGEDSHELL, // after shell command that changed file +! EVENT_FILECHANGEDSHELLPOST, // after (not) reloading changed file +! EVENT_FILEREADCMD, // read from a file using command +! EVENT_FILEREADPOST, // after reading a file +! EVENT_FILEREADPRE, // before reading a file +! EVENT_FILETYPE, // new file type detected (user defined) +! EVENT_FILEWRITECMD, // write to a file using command +! EVENT_FILEWRITEPOST, // after writing a file +! EVENT_FILEWRITEPRE, // before writing a file +! EVENT_FILTERREADPOST, // after reading from a filter +! EVENT_FILTERREADPRE, // before reading from a filter +! EVENT_FILTERWRITEPOST, // after writing to a filter +! EVENT_FILTERWRITEPRE, // before writing to a filter +! EVENT_FOCUSGAINED, // got the focus +! EVENT_FOCUSLOST, // lost the focus to another app +! EVENT_FUNCUNDEFINED, // if calling a function which doesn't exist +! EVENT_GUIENTER, // after starting the GUI +! EVENT_GUIFAILED, // after starting the GUI failed +! EVENT_INSERTCHANGE, // when changing Insert/Replace mode +! EVENT_INSERTCHARPRE, // before inserting a char +! EVENT_INSERTENTER, // when entering Insert mode +! EVENT_INSERTLEAVE, // when leaving Insert mode +! EVENT_MENUPOPUP, // just before popup menu is displayed +! EVENT_OPTIONSET, // option was set +! EVENT_QUICKFIXCMDPOST, // after :make, :grep etc. +! EVENT_QUICKFIXCMDPRE, // before :make, :grep etc. +! EVENT_QUITPRE, // before :quit +! EVENT_REMOTEREPLY, // upon string reception from a remote vim +! EVENT_SESSIONLOADPOST, // after loading a session file +! EVENT_SHELLCMDPOST, // after ":!cmd" +! EVENT_SHELLFILTERPOST, // after ":1,2!cmd", ":w !cmd", ":r !cmd". +! EVENT_SOURCECMD, // sourcing a Vim script using command +! EVENT_SOURCEPRE, // before sourcing a Vim script +! EVENT_SPELLFILEMISSING, // spell file missing +! EVENT_STDINREADPOST, // after reading from stdin +! EVENT_STDINREADPRE, // before reading from stdin +! EVENT_SWAPEXISTS, // found existing swap file +! EVENT_SYNTAX, // syntax selected +! EVENT_TABCLOSED, // after closing a tab page +! EVENT_TABENTER, // after entering a tab page +! EVENT_TABLEAVE, // before leaving a tab page +! EVENT_TABNEW, // when entering a new tab page +! EVENT_TERMCHANGED, // after changing 'term' +! EVENT_TERMINALOPEN, // after a terminal buffer was created +! EVENT_TERMRESPONSE, // after setting "v:termresponse" +! EVENT_TEXTCHANGED, // text was modified not in Insert mode +! EVENT_TEXTCHANGEDI, // text was modified in Insert mode +! EVENT_TEXTCHANGEDP, // TextChangedI with popup menu visible +! EVENT_TEXTYANKPOST, // after some text was yanked +! EVENT_USER, // user defined autocommand +! EVENT_VIMENTER, // after starting Vim +! EVENT_VIMLEAVE, // before exiting Vim +! EVENT_VIMLEAVEPRE, // before exiting Vim and writing .viminfo +! EVENT_VIMRESIZED, // after Vim window was resized +! EVENT_WINENTER, // after entering a window +! EVENT_WINLEAVE, // before leaving a window +! EVENT_WINNEW, // when entering a new window + +! NUM_EVENTS // MUST be the last one + }; + + typedef enum auto_event event_T; +*** ../vim-8.1.0396/src/diff.c 2018-09-16 14:51:34.003406787 +0200 +--- src/diff.c 2018-09-16 15:29:52.787858129 +0200 +*************** +*** 942,947 **** +--- 942,949 ---- + curwin->w_valid_cursor.lnum = 0; + + diff_redraw(TRUE); ++ ++ apply_autocmds(EVENT_DIFFUPDATED, NULL, NULL, FALSE, curbuf); + } + + /* +*** ../vim-8.1.0396/src/fileio.c 2018-09-13 15:33:39.605712221 +0200 +--- src/fileio.c 2018-09-16 15:30:10.519679152 +0200 +*************** +*** 7761,7766 **** +--- 7761,7767 ---- + {"CursorHoldI", EVENT_CURSORHOLDI}, + {"CursorMoved", EVENT_CURSORMOVED}, + {"CursorMovedI", EVENT_CURSORMOVEDI}, ++ {"DiffUpdated", EVENT_DIFFUPDATED}, + {"DirChanged", EVENT_DIRCHANGED}, + {"EncodingChanged", EVENT_ENCODINGCHANGED}, + {"ExitPre", EVENT_EXITPRE}, +*** ../vim-8.1.0396/src/testdir/test_diffmode.vim 2018-09-15 19:17:07.510653263 +0200 +--- src/testdir/test_diffmode.vim 2018-09-16 15:42:46.704283160 +0200 +*************** +*** 4,9 **** +--- 4,12 ---- + + func Test_diff_fold_sync() + enew! ++ let g:update_count = 0 ++ au DiffUpdated * let g:update_count += 1 ++ + let l = range(50) + call setline(1, l) + diffthis +*************** +*** 29,34 **** +--- 32,40 ---- + call win_gotoid(winone) + call assert_equal(23, getcurpos()[1]) + ++ call assert_equal(1, g:update_count) ++ au! DiffUpdated ++ + windo diffoff + close! + set nomodified +*** ../vim-8.1.0396/runtime/doc/autocmd.txt 2018-05-17 13:40:51.000000000 +0200 +--- runtime/doc/autocmd.txt 2018-09-16 15:46:22.166221491 +0200 +*************** +*** 656,667 **** + *E881* + If the number of lines changes saving for undo + may fail and the change will be aborted. + *DirChanged* + DirChanged The working directory has changed in response + to the |:cd| or |:lcd| commands, or as a + result of the 'autochdir' option. + The pattern can be: +! "window" to trigger on `:lcd + "global" to trigger on `:cd` + "auto" to trigger on 'autochdir'. + "drop" to trigger on editing a file +--- 656,672 ---- + *E881* + If the number of lines changes saving for undo + may fail and the change will be aborted. ++ *DiffUpdated* ++ DiffUpdated After diffs have been updated. Depending on ++ what kind of diff is being used (internal or ++ external) this can be triggered on every ++ change or when doing |:diffupdate|. + *DirChanged* + DirChanged The working directory has changed in response + to the |:cd| or |:lcd| commands, or as a + result of the 'autochdir' option. + The pattern can be: +! "window" to trigger on `:lcd` + "global" to trigger on `:cd` + "auto" to trigger on 'autochdir'. + "drop" to trigger on editing a file +*** ../vim-8.1.0396/src/version.c 2018-09-16 15:14:15.078419097 +0200 +--- src/version.c 2018-09-16 15:44:10.039484480 +0200 +*************** +*** 796,797 **** +--- 796,799 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 397, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +67. Your hard drive crashes. You haven't logged in for two hours. You start + to twitch. You pick up the phone and manually dial your ISP's access + number. You try to hum to communicate with the modem. You succeed. + + /// 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 /// |