From 24eb1af4754b3061d0968112342ca5389b68d4f6 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sat, 14 May 2022 18:55:50 +0800 Subject: vim-patch:8.2.4951: smart indenting done when not enabled Problem: Smart indenting done when not enabled. Solution: Check option values before setting can_si. (closes vim/vim#10420) https://github.com/vim/vim/commit/de5cf287812510d2c8ffe66b99cf33c4e1a6e6f1 --- src/nvim/edit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/nvim/edit.c') diff --git a/src/nvim/edit.c b/src/nvim/edit.c index c2e61271c7..f2982aa187 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -1396,7 +1396,7 @@ static void insert_do_complete(InsertState *s) compl_cont_status = 0; } compl_busy = false; - can_si = true; // allow smartindenting + can_si = may_do_si(); // allow smartindenting } static void insert_do_cindent(InsertState *s) @@ -9403,7 +9403,7 @@ static void ins_try_si(int c) /* * set indent of '#' always to 0 */ - if (curwin->w_cursor.col > 0 && can_si && c == '#') { + if (curwin->w_cursor.col > 0 && can_si && c == '#' && inindent(0)) { // remember current indent for next line old_indent = get_indent(); (void)set_indent(0, SIN_CHANGED); -- cgit