Last active
August 3, 2017 14:20
-
-
Save h-east/aa38a9e1da23a7ccc69417bc174177e4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/misc1.c b/src/misc1.c | |
index 4f33015..f19c2dc 100644 | |
--- a/src/misc1.c | |
+++ b/src/misc1.c | |
@@ -627,6 +627,9 @@ open_line( | |
# ifdef FEAT_CINDENT | |
&& !curbuf->b_p_cin | |
# endif | |
+# ifdef FEAT_EVAL | |
+ && *curbuf->b_p_inde == NUL | |
+# endif | |
); | |
int no_si = FALSE; /* reset did_si afterwards */ | |
int first_char = NUL; /* init for GCC */ | |
diff --git a/src/testdir/test_smartindent.vim b/src/testdir/test_smartindent.vim | |
index d00eac9..20a111e 100644 | |
--- a/src/testdir/test_smartindent.vim | |
+++ b/src/testdir/test_smartindent.vim | |
@@ -1,3 +1,4 @@ | |
+" Test for smartindent | |
" Tests for not doing smart indenting when it isn't set. | |
function! Test_nosmartindent() | |
@@ -12,3 +13,29 @@ function! Test_nosmartindent() | |
call assert_equal(" #test", getline(1)) | |
enew! | close | |
endfunction | |
+ | |
+function MyIndent() | |
+endfunction | |
+ | |
+" When 'indentexpr' is set, setting 'si' has no effect. | |
+function Test_smartindent_has_no_effect() | |
+ new | |
+ exe "normal! i\<Tab>one\<Esc>" | |
+ set noautoindent | |
+ set smartindent | |
+ set indentexpr= | |
+ exe "normal! Gotwo\<Esc>" | |
+ call assert_equal("\ttwo", getline("$")) | |
+ | |
+ set indentexpr=MyIndent | |
+ exe "normal! Gothree\<Esc>" | |
+ call assert_equal("three", getline("$")) | |
+ | |
+ delfunction! MyIndent | |
+ set autoindent& | |
+ set smartindent& | |
+ set indentexpr& | |
+ bwipe! | |
+endfunction | |
+ | |
+" vim: shiftwidth=2 sts=2 expandtab |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment