changeset 11611:9dc041e1c8c9 v8.0.0688

patch 8.0.0688: cannot resize the window in a FileType autocommand commit https://github.com/vim/vim/commit/9c4fefffb65a2ed9b4a5b0f1bde0da8f349470b5 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jun 28 22:26:54 2017 +0200 patch 8.0.0688: cannot resize the window in a FileType autocommand Problem: Cannot resize the window in a FileType autocommand. (Ingo Karkat) Solution: Add the CMDWIN flag to :resize. (test by Ingo Karkat, closes #1804)
author Christian Brabandt <cb@256bit.org>
date Wed, 28 Jun 2017 22:30:03 +0200
parents 6693f32ec213
children 8254ce2f2653
files src/ex_cmds.h src/testdir/test_quickfix.vim src/version.c
diffstat 3 files changed, 35 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -51,7 +51,9 @@
 #define BUFUNL	      0x20000L	/* accepts unlisted buffer too */
 #define ARGOPT	      0x40000L	/* allow "++opt=val" argument */
 #define SBOXOK	      0x80000L	/* allowed in the sandbox */
-#define CMDWIN	     0x100000L	/* allowed in cmdline window */
+#define CMDWIN	     0x100000L	/* allowed in cmdline window; when missing
+				 * disallows editing another buffer when
+				 * curbuf_lock is set */
 #define MODIFY       0x200000L	/* forbidden in non-'modifiable' buffer */
 #define EXFLAGS      0x400000L	/* allow flags after count in argument */
 #define FILES	(XFILE | EXTRA)	/* multiple extra files allowed */
@@ -1176,7 +1178,7 @@ EX(CMD_registers,	"registers",	ex_displa
 			EXTRA|NOTRLCOM|TRLBAR|CMDWIN,
 			ADDR_LINES),
 EX(CMD_resize,		"resize",	ex_resize,
-			RANGE|NOTADR|TRLBAR|WORD1,
+			RANGE|NOTADR|TRLBAR|WORD1|CMDWIN,
 			ADDR_LINES),
 EX(CMD_retab,		"retab",	ex_retab,
 			TRLBAR|RANGE|WHOLEFOLD|DFLALL|BANG|WORD1|CMDWIN|MODIFY,
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -2190,18 +2190,6 @@ func Test_bufoverflow()
   set efm&vim
 endfunc
 
-func Test_cclose_from_copen()
-    augroup QF_Test
-	au!
-        au FileType qf :call assert_fails(':cclose', 'E788')
-    augroup END
-    copen
-    augroup QF_Test
-	au!
-    augroup END
-    augroup! QF_Test
-endfunc
-
 " Tests for getting the quickfix stack size
 func XsizeTests(cchar)
   call s:setup_commands(a:cchar)
@@ -2231,6 +2219,18 @@ func Test_Qf_Size()
   call XsizeTests('l')
 endfunc
 
+func Test_cclose_from_copen()
+    augroup QF_Test
+	au!
+        au FileType qf :call assert_fails(':cclose', 'E788')
+    augroup END
+    copen
+    augroup QF_Test
+	au!
+    augroup END
+    augroup! QF_Test
+endfunc
+
 func Test_cclose_in_autocmd()
   " Problem is only triggered if "starting" is zero, so that the OptionsSet
   " event will be triggered.
@@ -2246,3 +2246,20 @@ func Test_cclose_in_autocmd()
   augroup! QF_Test
   call test_override('starting', 0)
 endfunc
+
+func Test_resize_from_copen()
+    augroup QF_Test
+	au!
+        au FileType qf resize 5
+    augroup END
+    try
+	" This should succeed without any exception.  No other buffers are
+	" involved in the autocmd.
+	copen
+    finally
+	augroup QF_Test
+	    au!
+	augroup END
+	augroup! QF_Test
+    endtry
+endfunc
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    688,
+/**/
     687,
 /**/
     686,