patch 8.1.0754: preferred column is lost when setting 'cursorcolumn'
Problem: Preferred column is lost when setting 'cursorcolumn'.
Solution: Change option flag to P_RWINONLY. (Takayuki Kurosawa,
closes #3806)
diff --git a/src/option.c b/src/option.c
index 414e65a..ca3e3d8 100644
--- a/src/option.c
+++ b/src/option.c
@@ -989,7 +989,7 @@
{"cursorbind", "crb", P_BOOL|P_VI_DEF,
(char_u *)VAR_WIN, PV_CRBIND,
{(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
- {"cursorcolumn", "cuc", P_BOOL|P_VI_DEF|P_RWIN,
+ {"cursorcolumn", "cuc", P_BOOL|P_VI_DEF|P_RWINONLY,
#ifdef FEAT_SYN_HL
(char_u *)VAR_WIN, PV_CUC,
#else
diff --git a/src/testdir/test_cursor_func.vim b/src/testdir/test_cursor_func.vim
index d784e36..a41cc7d 100644
--- a/src/testdir/test_cursor_func.vim
+++ b/src/testdir/test_cursor_func.vim
@@ -46,3 +46,23 @@
quit!
endfunc
+" Tests for behavior of curswant with cursorcolumn/line
+func Test_curswant_with_cursorcolumn()
+ new
+ call setline(1, ['01234567', ''])
+ exe "normal! ggf6j"
+ call assert_equal(6, winsaveview().curswant)
+ set cursorcolumn
+ call assert_equal(6, winsaveview().curswant)
+ quit!
+endfunc
+
+func Test_curswant_with_cursorline()
+ new
+ call setline(1, ['01234567', ''])
+ exe "normal! ggf6j"
+ call assert_equal(6, winsaveview().curswant)
+ set cursorline
+ call assert_equal(6, winsaveview().curswant)
+ quit!
+endfunc
diff --git a/src/version.c b/src/version.c
index 708f96f..cf58605 100644
--- a/src/version.c
+++ b/src/version.c
@@ -796,6 +796,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 754,
+/**/
753,
/**/
752,