patch 8.2.3751: cannot assign a lambda to an option that takes a function

Problem:    Cannot assign a lambda to an option that takes a function.
Solution:   Automatically convert the lambda to a string. (Yegappan
            Lakshmanan, closes #9286)
diff --git a/src/proto/eval.pro b/src/proto/eval.pro
index 96a2c6d..45b559d 100644
--- a/src/proto/eval.pro
+++ b/src/proto/eval.pro
@@ -73,7 +73,7 @@
 void ex_echohl(exarg_T *eap);
 int get_echo_attr(void);
 void ex_execute(exarg_T *eap);
-char_u *find_option_end(char_u **arg, int *opt_flags);
+char_u *find_option_end(char_u **arg, int *scope);
 void last_set_msg(sctx_T script_ctx);
 char_u *do_string_sub(char_u *str, char_u *pat, char_u *sub, typval_T *expr, char_u *flags);
 /* vim: set ft=c : */
diff --git a/src/proto/option.pro b/src/proto/option.pro
index ea6baa7..2390f58 100644
--- a/src/proto/option.pro
+++ b/src/proto/option.pro
@@ -25,7 +25,7 @@
 void set_term_option_sctx_idx(char *name, int opt_idx);
 void check_redraw(long_u flags);
 int findoption(char_u *arg);
-getoption_T get_option_value(char_u *name, long *numval, char_u **stringval, int opt_flags);
+getoption_T get_option_value(char_u *name, long *numval, char_u **stringval, int *flagsp, int scope);
 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);
@@ -48,7 +48,7 @@
 void set_term_defaults(void);
 int istermoption_idx(int opt_idx);
 void unset_global_local_option(char_u *name, void *from);
-char_u *get_option_varp_scope(int opt_idx, int opt_flags);
+char_u *get_option_varp_scope(int opt_idx, int scope);
 char_u *get_option_var(int opt_idx);
 char_u *get_option_fullname(int opt_idx);
 char_u *get_equalprg(void);