Mercurial > vim
diff src/ex_getln.c @ 11589:39787def24bb v8.0.0677
patch 8.0.0677: setting 'filetype' may switch buffers
commit https://github.com/vim/vim/commit/1814183b865059679f6ee526ec23fc575e536e66
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jun 25 21:17:25 2017 +0200
patch 8.0.0677: setting 'filetype' may switch buffers
Problem: Setting 'filetype' internally may cause the current buffer and
window to change unexpectedly.
Solution: Set curbuf_lock. (closes #1734)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 25 Jun 2017 21:30:04 +0200 |
parents | 578df034735d |
children | 7428a08c2f68 |
line wrap: on
line diff
--- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -6878,6 +6878,8 @@ open_cmdwin(void) # ifdef FEAT_AUTOCMD /* Do execute autocommands for setting the filetype (load syntax). */ unblock_autocmds(); + /* But don't allow switching to another buffer. */ + ++curbuf_lock; # endif /* Showing the prompt may have set need_wait_return, reset it. */ @@ -6893,6 +6895,9 @@ open_cmdwin(void) } set_option_value((char_u *)"ft", 0L, (char_u *)"vim", OPT_LOCAL); } +# ifdef FEAT_AUTOCMD + --curbuf_lock; +# endif /* Reset 'textwidth' after setting 'filetype' (the Vim filetype plugin * sets 'textwidth' to 78). */