Hari Krishna Dara wrote: > I am observing what might be inconsistency in the order in which vim > fires autocommands. First, ovserving the order of buffer and window events, > > - Using :new: > > WinLeave > WinEnter > BufLeave > BufEnter > > - Using :wincmd w > > BufLeave > WinLeave > WinEnter > BufEnter > > > When combined with tab operations, > > - Using, :tabe: > > WinLeave > TabLeave > TabEnter > WinEnter > BufLeave > BufEnter > > - Using :tabnext: > > BufLeave > WinLeave > TabLeave > WinEnter > TabEnter > BufEnter > > Extrapolating the first two, I was expecting these to be > > - For tabe: > > TabLeave > TabEnter > WinLeave > WinEnter > BufLeave > BufEnter > > - For :tabnext: > > BufLeave > WinLeave > TabLeave > TabEnter > WinEnter > BufEnter > > Is the existing behavior expected? Does anyone agree that it is > inconsistent? I am even surprised that they should differ between > switching between the existing windows/tabs and creating new ones.
The problem with autocommands is that they must run in a valid environment to avoid trouble (as in a crashing Vim). This is quite tricky, especially in combination with error handling (e.g., not being able to abandon a buffer). The order of autocommands changed at a late moment in 7.0 development to work around problems (no valid window when TabEnter was triggered, if I remember correctly). I rather not change it again, it might introduce bugs. -- DINGO: And after the spanking ... the oral sex. GALAHAD: Oh, dear! Well, I... GIRLS: The oral sex ... The oral sex. GALAHAD: Well, I suppose I could stay a BIT longer. "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ download, build and distribute -- http://www.A-A-P.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///