From 6b64394f346594404cffb9591d71ac693040679f Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 5 Mar 2017 19:44:06 +0100 Subject: patch 8.0.0423: changing 'cinoptions' does not always work Problem: The effect of adding "#" to 'cinoptions' is not always removed. (David Briscoe) Solution: Reset b_ind_hash_comment. (Christian Brabandt, closes #1475) --- src/Makefile | 1 + src/misc1.c | 3 +++ src/testdir/Make_all.mak | 1 + src/testdir/test3.in | 3 ++- src/testdir/test_cindent.vim | 16 ++++++++++++++++ src/version.c | 2 ++ 6 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/testdir/test_cindent.vim (limited to 'src') diff --git a/src/Makefile b/src/Makefile index 6e7fdde3c7..f9453229aa 100644 --- a/src/Makefile +++ b/src/Makefile @@ -2104,6 +2104,7 @@ test_arglist \ test_channel \ test_charsearch \ test_changedtick \ + test_cindent \ test_cmdline \ test_command_count \ test_crypt \ diff --git a/src/misc1.c b/src/misc1.c index dce912c406..ec92f03757 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -6974,6 +6974,9 @@ parse_cino(buf_T *buf) * while(). */ buf->b_ind_if_for_while = 0; + /* indentation for # comments */ + buf->b_ind_hash_comment = 0; + for (p = buf->b_p_cino; *p; ) { l = p++; diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak index e1ce1518fc..b7fb15caf6 100644 --- a/src/testdir/Make_all.mak +++ b/src/testdir/Make_all.mak @@ -143,6 +143,7 @@ NEW_TESTS = test_arabic.res \ test_cdo.res \ test_channel.res \ test_charsearch.res \ + test_cindent.res \ test_cmdline.res \ test_command_count.res \ test_crypt.res \ diff --git a/src/testdir/test3.in b/src/testdir/test3.in index e8648d382c..9e66436e7d 100644 --- a/src/testdir/test3.in +++ b/src/testdir/test3.in @@ -1,6 +1,7 @@ /* vim: set cin ts=4 sw=4 : */ -Test for 'cindent' +Test for 'cindent'. +For new tests, consider putting them in test_cindent.vim. STARTTEST :so small.vim diff --git a/src/testdir/test_cindent.vim b/src/testdir/test_cindent.vim new file mode 100644 index 0000000000..5685c2be66 --- /dev/null +++ b/src/testdir/test_cindent.vim @@ -0,0 +1,16 @@ +" Test for cinoptions and cindent +" +" TODO: rewrite test3.in into this new style test + +func Test_cino_hash() + " Test that curbuf->b_ind_hash_comment is correctly reset + new + setlocal cindent cinoptions=#1 + setlocal cinoptions= + call setline(1, ["#include "]) + call cursor(1, 1) + norm! o#include + "call feedkeys("o#include\", 't') + call assert_equal(["#include ", "#include"], getline(1,2)) + bwipe! +endfunc diff --git a/src/version.c b/src/version.c index 3804bbe893..c956389cef 100644 --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 423, /**/ 422, /**/ -- cgit v1.2.3