]> granicus.if.org Git - vim/commitdiff
patch 8.0.1597: autocommand events are not sorted v8.0.1597
authorBram Moolenaar <Bram@vim.org>
Sun, 11 Mar 2018 16:02:12 +0000 (17:02 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 11 Mar 2018 16:02:12 +0000 (17:02 +0100)
Problem:    Autocommand events are not sorted.
Solution:   Sort the autocommand events.

src/version.c
src/vim.h

index a6ca13296fa43ea591962344818356a74f6a3b03..e30c251766c98fe0e2fcbd65ebbe634ee06f2e2c 100644 (file)
@@ -766,6 +766,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1597,
 /**/
     1596,
 /**/
index 86948b03f8760ba8efd7cb689458d6b905f14318..9b69735e7482df274c46a3ab5939b3587ad50ead 100644 (file)
--- 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 */
 };