]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.2.0267: 'autowrite' not triggered for :term v9.2.0267
authorrendcrx <974449413@qq.com>
Sun, 29 Mar 2026 09:20:34 +0000 (09:20 +0000)
committerChristian Brabandt <cb@256bit.org>
Sun, 29 Mar 2026 09:22:48 +0000 (09:22 +0000)
Problem:  'autowrite' not triggered for :term
Solution: Trigger autowrite for :term command
          (rendcrx)

closes: #19855

Signed-off-by: rendcrx <974449413@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/doc/options.txt
src/terminal.c
src/testdir/test_terminal3.vim
src/version.c

index 5f30fb715ea39ba782e79e8d991b2cfd02cfc95f..f17f6259dbdd4220791c3e140b2e88dc6cbb3c98 100644 (file)
@@ -1,4 +1,4 @@
-*options.txt*  For Vim version 9.2.  Last change: 2026 Mar 23
+*options.txt*  For Vim version 9.2.  Last change: 2026 Mar 29
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1031,7 +1031,7 @@ A jump table for the options with a short description can be found at |Q_op|.
                        global
        Write the contents of the file, if it has been modified, on each
        `:next`, `:rewind`, `:last`, `:first`, `:previous`, `:stop`,
-       `:suspend`, `:tag`, `:!`, `:make`, CTRL-] and CTRL-^ command; and when
+       `:suspend`, `:tag`, `:!`, `:make`, `:terminal`, CTRL-] and CTRL-^ command; and when
        a `:buffer`, CTRL-O, CTRL-I, '{A-Z0-9}, or `{A-Z0-9} command takes one
        to another file.
        A buffer is not written if it becomes hidden, e.g. when 'bufhidden' is
index 8140da55f21ec0558c4f26e9828b5f5bcdcd1b96..ecb0b52b3a8844560926bf99d5f4c402ace2623a 100644 (file)
@@ -810,6 +810,11 @@ ex_terminal(exarg_T *eap)
     int                opt_shell = FALSE;
     char_u     *cmd;
     char_u     *tofree = NULL;
+    int                scroll_save = msg_scroll;
+
+    msg_scroll = FALSE;                // don't scroll here
+    autowrite_all();
+    msg_scroll = scroll_save;
 
     init_job_options(&opt);
 
index 7cf727e49cd64335bbe818f5671491f2ebd99886..263b5f3093364b2d5a95363bc16370e6c186d318 100644 (file)
@@ -1218,4 +1218,15 @@ func Test_term_getpos()
   bw
 endfunc
 
+func Test_term_autowrite()
+  set autowrite
+  new termautowritetestfile
+  call setline(1, 'test content')
+  term echo "test"
+  call assert_equal(['test content'], readfile('termautowritetestfile'))
+  call delete('termautowritetestfile')
+  bwipe!
+  set noautowrite
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
index 5a1fd0cd79bbdd27fc343beeb817ff8216a30ec0..d2797c2373918348a715c80a22d874c9d2a94338 100644 (file)
@@ -734,6 +734,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    267,
 /**/
     266,
 /**/