changeset 13446:b18e5f37c44b v8.0.1597

patch 8.0.1597: autocommand events are not sorted commit https://github.com/vim/vim/commit/e87303af3236b8fb5e1e3be4d0e2209344fbf8b2 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Mar 11 17:02:12 2018 +0100 patch 8.0.1597: autocommand events are not sorted Problem: Autocommand events are not sorted. Solution: Sort the autocommand events.
author Christian Brabandt <cb@256bit.org>
date Sun, 11 Mar 2018 17:15:06 +0100
parents bc3a1b4f9de3
children 17eebaa3188f
files src/version.c src/vim.h
diffstat 2 files changed, 38 insertions(+), 37 deletions(-) [+]
line wrap: on
line diff
--- a/src/version.c
+++ b/src/version.c
@@ -767,6 +767,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1597,
+/**/
     1596,
 /**/
     1595,
--- a/src/vim.h
+++ b/src/vim.h
@@ -1251,67 +1251,92 @@ typedef struct {
 enum auto_event
 {
     EVENT_BUFADD = 0,		/* after adding a buffer to the buffer list */
-    EVENT_BUFNEW,		/* after creating any buffer */
     EVENT_BUFDELETE,		/* deleting a buffer from the buffer list */
-    EVENT_BUFWIPEOUT,		/* just before really deleting a buffer */
     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_BUFREADCMD,		/* read buffer using command */
     EVENT_BUFUNLOAD,		/* just before unloading a buffer */
-    EVENT_BUFHIDDEN,		/* just after buffer becomes hidden */
     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_BUFWRITECMD,		/* write buffer using command */
     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_COMPLETEDONE,		/* after finishing insert complete */
-    EVENT_DIRCHANGED,		/* after changing directory as a result of user cmd */
+    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_FILEAPPENDCMD,	/* append to a file using command */
+    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_FILECHANGEDRO,	/* before first change to read-only file */
+    EVENT_FILEREADCMD,		/* read from a file using command */
     EVENT_FILEREADPOST,		/* after reading a file */
     EVENT_FILEREADPRE,		/* before reading a file */
-    EVENT_FILEREADCMD,		/* read from a file using command */
     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_FILEWRITECMD,		/* write to a file using command */
     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 */
@@ -1320,33 +1345,7 @@ enum auto_event
     EVENT_WINENTER,		/* after entering a window */
     EVENT_WINLEAVE,		/* before leaving a window */
     EVENT_WINNEW,		/* when entering a new window */
-    EVENT_ENCODINGCHANGED,	/* after changing the 'encoding' option */
-    EVENT_INSERTCHARPRE,	/* before inserting a char */
-    EVENT_CURSORHOLD,		/* cursor in same position for a while */
-    EVENT_CURSORHOLDI,		/* idem, in Insert mode */
-    EVENT_FUNCUNDEFINED,	/* if calling a function which doesn't exist */
-    EVENT_REMOTEREPLY,		/* upon string reception from a remote vim */
-    EVENT_SWAPEXISTS,		/* found existing swap file */
-    EVENT_SOURCEPRE,		/* before sourcing a Vim script */
-    EVENT_SOURCECMD,		/* sourcing a Vim script using command */
-    EVENT_SPELLFILEMISSING,	/* spell file missing */
-    EVENT_CURSORMOVED,		/* cursor was moved */
-    EVENT_CURSORMOVEDI,		/* cursor was moved in Insert mode */
-    EVENT_TABENTER,		/* after entering a tab page */
-    EVENT_TABLEAVE,		/* before leaving a tab page */
-    EVENT_TABNEW,		/* when entering a new tab page */
-    EVENT_TABCLOSED,		/* after closing a tab page */
-    EVENT_SHELLCMDPOST,		/* after ":!cmd" */
-    EVENT_SHELLFILTERPOST,	/* after ":1,2!cmd", ":w !cmd", ":r !cmd". */
-    EVENT_TEXTCHANGED,		/* text was modified not in Insert mode */
-    EVENT_TEXTCHANGEDI,         /* text was modified in Insert mode without
-				   popup menu visible */
-    EVENT_TEXTCHANGEDP,         /* text was modified in Insert mode with popup
-				   menu visible */
-    EVENT_CMDUNDEFINED,		/* command undefined */
-    EVENT_OPTIONSET,		/* option was set */
-    EVENT_TEXTYANKPOST,		/* after some text was yanked */
-    EVENT_TERMINALOPEN,		/* after a terminal buffer was created */
+
     NUM_EVENTS			/* MUST be the last one */
 };