Patch 8.0.1597
Problem:    Autocommand events are not sorted.
Solution:   Sort the autocommand events.
Files:      src/vim.h


*** ../vim-8.0.1596/src/vim.h   2018-03-11 16:55:30.012616408 +0100
--- src/vim.h   2018-03-11 16:58:08.051652860 +0100
***************
*** 1251,1317 ****
  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_BUFLEAVE,           /* before leaving a buffer */
      EVENT_BUFNEWFILE,         /* when creating a buffer for a new file */
      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_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_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_EXITPRE,            /* before exiting */
      EVENT_FILEAPPENDPOST,     /* after appending to a file */
      EVENT_FILEAPPENDPRE,      /* before appending to a file */
!     EVENT_FILEAPPENDCMD,      /* append to a file using command */
      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_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_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_GUIENTER,           /* after starting the GUI */
      EVENT_GUIFAILED,          /* after starting the GUI failed */
      EVENT_INSERTCHANGE,               /* when changing Insert/Replace mode */
      EVENT_INSERTENTER,                /* when entering Insert mode */
      EVENT_INSERTLEAVE,                /* when leaving Insert mode */
      EVENT_MENUPOPUP,          /* just before popup menu is displayed */
      EVENT_QUICKFIXCMDPOST,    /* after :make, :grep etc. */
      EVENT_QUICKFIXCMDPRE,     /* before :make, :grep etc. */
      EVENT_QUITPRE,            /* before :quit */
      EVENT_SESSIONLOADPOST,    /* after loading a session file */
      EVENT_STDINREADPOST,      /* after reading from stdin */
      EVENT_STDINREADPRE,               /* before reading from stdin */
      EVENT_SYNTAX,             /* syntax selected */
      EVENT_TERMCHANGED,                /* after changing 'term' */
      EVENT_TERMRESPONSE,               /* after setting "v:termresponse" */
      EVENT_USER,                       /* user defined autocommand */
      EVENT_VIMENTER,           /* after starting Vim */
      EVENT_VIMLEAVE,           /* before exiting Vim */
--- 1251,1342 ----
  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_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 */
***************
*** 1320,1352 ****
      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 */
  };
  
--- 1345,1351 ----
      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 */
  };
  
*** ../vim-8.0.1596/src/version.c       2018-03-11 16:55:30.012616408 +0100
--- src/version.c       2018-03-11 17:00:34.974757212 +0100
***************
*** 768,769 ****
--- 768,771 ----
  {   /* Add new patch number below this line */
+ /**/
+     1597,
  /**/

-- 
No engineer can take a shower without wondering if some sort of Teflon coating
would make showering unnecessary.
                                (Scott Adams - The Dilbert principle)

 /// Bram Moolenaar -- b...@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    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui