patch 8.1.2073: when editing a buffer 'colorcolumn' may not work

Problem:    When editing a buffer 'colorcolumn' may not work.
Solution:   Set the buffer before copying option values. Call
            check_colorcolumn() after copying window options.
diff --git a/src/proto/indent.pro b/src/proto/indent.pro
index 71028ac..b9c071c 100644
--- a/src/proto/indent.pro
+++ b/src/proto/indent.pro
@@ -10,4 +10,17 @@
 void do_c_expr_indent(void);
 void fixthisline(int (*get_the_indent)(void));
 void fix_indent(void);
+int tabstop_set(char_u *var, int **array);
+int tabstop_padding(colnr_T col, int ts_arg, int *vts);
+int tabstop_at(colnr_T col, int ts, int *vts);
+colnr_T tabstop_start(colnr_T col, int ts, int *vts);
+void tabstop_fromto(colnr_T start_col, colnr_T end_col, int ts_arg, int *vts, int *ntabs, int *nspcs);
+int tabstop_eq(int *ts1, int *ts2);
+int *tabstop_copy(int *oldts);
+int tabstop_count(int *ts);
+int tabstop_first(int *ts);
+long get_sw_value(buf_T *buf);
+long get_sw_value_indent(buf_T *buf);
+long get_sw_value_col(buf_T *buf, colnr_T col);
+long get_sts_value(void);
 /* vim: set ft=c : */
diff --git a/src/proto/option.pro b/src/proto/option.pro
index d6c8558..40312f4 100644
--- a/src/proto/option.pro
+++ b/src/proto/option.pro
@@ -28,6 +28,7 @@
 int findoption(char_u *arg);
 int get_option_value(char_u *name, long *numval, char_u **stringval, int opt_flags);
 int get_option_value_strict(char_u *name, long *numval, char_u **stringval, int opt_type, void *from);
+char_u *option_iter_next(void **option, int opt_type);
 long_u get_option_flags(int opt_idx);
 void set_option_flag(int opt_idx, long_u flag);
 void clear_option_flag(int opt_idx, long_u flag);
@@ -36,7 +37,6 @@
 int is_window_local_option(int opt_idx);
 int is_hidden_option(int opt_idx);
 int is_crypt_key_option(int opt_idx);
-char_u *option_iter_next(void **option, int opt_type);
 char *set_option_value(char_u *name, long number, char_u *string, int opt_flags);
 char_u *get_term_code(char_u *tname);
 char_u *get_highlight_default(void);
@@ -54,6 +54,7 @@
 char_u *get_option_fullname(int opt_idx);
 char_u *get_equalprg(void);
 void win_copy_options(win_T *wp_from, win_T *wp_to);
+void after_copy_winopt(win_T *wp);
 void copy_winopt(winopt_T *from, winopt_T *to);
 void clear_winopt(winopt_T *wop);
 void buf_copy_options(buf_T *buf, int flags);
@@ -74,19 +75,6 @@
 int can_bs(int what);
 void save_file_ff(buf_T *buf);
 int file_ff_differs(buf_T *buf, int ignore_empty);
-int tabstop_set(char_u *var, int **array);
-int tabstop_padding(colnr_T col, int ts_arg, int *vts);
-int tabstop_at(colnr_T col, int ts, int *vts);
-colnr_T tabstop_start(colnr_T col, int ts, int *vts);
-void tabstop_fromto(colnr_T start_col, colnr_T end_col, int ts_arg, int *vts, int *ntabs, int *nspcs);
-int tabstop_eq(int *ts1, int *ts2);
-int *tabstop_copy(int *oldts);
-int tabstop_count(int *ts);
-int tabstop_first(int *ts);
-long get_sw_value(buf_T *buf);
-long get_sw_value_indent(buf_T *buf);
-long get_sw_value_col(buf_T *buf, colnr_T col);
-long get_sts_value(void);
 long get_scrolloff_value(void);
 long get_sidescrolloff_value(void);
 void find_mps_values(int *initc, int *findc, int *backwards, int switchit);