patch 9.1.1176: wrong indent when expanding multiple lines

Commit: 
https://github.com/vim/vim/commit/34a7d82aaed9836174f4ea84af047db3fdf6c8b3
Author: glepnir <glephun...@gmail.com>
Date:   Wed Mar 5 21:18:20 2025 +0100

    patch 9.1.1176: wrong indent when expanding multiple lines
    
    Problem:  wrong indentation of lastline when expanding multiple lines
    Solution: Check OPENLINE_FORCE_INDENT flag in open_line() (glepnir)
    
    closes: #16786
    
    Signed-off-by: glepnir <glephun...@gmail.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/change.c b/src/change.c
index a3329bdcb..9d1b23745 100644
--- a/src/change.c
+++ b/src/change.c
@@ -1672,7 +1672,8 @@ open_line(
                )
            && in_cinkeys(dir == FORWARD
                ? KEY_OPEN_FORW
-               : KEY_OPEN_BACK, ' ', linewhite(curwin->w_cursor.lnum));
+               : KEY_OPEN_BACK, ' ', linewhite(curwin->w_cursor.lnum))
+           && !(flags & OPENLINE_FORCE_INDENT);
 
     // Find out if the current line starts with a comment leader.
     // This may then be inserted in front of the new line.
diff --git a/src/testdir/dumps/Test_pum_with_special_characters_13.dump 
b/src/testdir/dumps/Test_pum_with_special_characters_13.dump
new file mode 100644
index 000000000..de505d27d
--- /dev/null
+++ b/src/testdir/dumps/Test_pum_with_special_characters_13.dump
@@ -0,0 +1,12 @@
+|m+0#ff404010#ffffff0|y| +0#0000000&@72
+| +0#ff404010&@7|m|u|l|t|i| +0#0000000&@61
+|l+0#ff404010&|i|n|e> +0#0000000&@70
+|m+0#0000001#e0e0e08|y|^|@| @1|m|u|l|t|i|^|@|l|i|n|e| @2| 
+0#4040ff13#ffffff0@54
+|m+0#0000001#ffd7ff255|y|^|@| @3|m|u|l|t|i|^|@|l|i|n|e| | 
+0#4040ff13#ffffff0@54
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|-+2#0000000&@1| |I|N|S|E|R|T| |-@1| +0&&@62
diff --git a/src/testdir/test_popup.vim b/src/testdir/test_popup.vim
index 82d2ef0be..aa4e3e411 100644
--- a/src/testdir/test_popup.vim
+++ b/src/testdir/test_popup.vim
@@ -1905,6 +1905,7 @@ func Test_pum_complete_with_special_characters()
       return [#{word: "func ()
        
end", abbr: "function ()",}, #{word: "foobar"}, #{word: "你好
        
我好"}]
     endfunc
     set omnifunc=Omni_test
+    inoremap <F5> <Cmd>call complete(col('.'), [ "my
        multi
line", "my
                multi
line" ])<CR>
   END
 
   call writefile(lines, 'Xpreviewscript', 'D')
@@ -1963,6 +1964,14 @@ func Test_pum_complete_with_special_characters()
   call TermWait(buf, 50)
   call VerifyScreenDump(buf, 'Test_pum_with_special_characters_12', {})
 
+  call term_sendkeys(buf, "\<ESC>ggVGd")
+  call term_sendkeys(buf, ":filetype indent on\<CR>")
+  call term_sendkeys(buf, ":set nocompatible autoindent& shiftwidth& 
tabstop&\<CR>")
+  call term_sendkeys(buf, ":setlocal ft=lua\<CR>")
+  call term_sendkeys(buf, "S\<F5>")
+  call TermWait(buf, 50)
+  call VerifyScreenDump(buf, 'Test_pum_with_special_characters_13', {})
+
   call StopVimInTerminal(buf)
 endfunc
 
diff --git a/src/version.c b/src/version.c
index 6553fa4fd..65c716929 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1176,
 /**/
     1175,
 /**/

-- 
-- 
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.
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1tpvNU-00Adn2-4J%40256bit.org.

Raspunde prin e-mail lui