|
107 | 107 | #if defined(FEAT_BEVAL) && defined(FEAT_EVAL) |
108 | 108 | # define PV_BEXPR OPT_BOTH(OPT_BUF(BV_BEXPR)) |
109 | 109 | #endif |
| 110 | +#define PV_FP OPT_BOTH(OPT_BUF(BV_FP)) |
110 | 111 | #ifdef FEAT_EVAL |
111 | 112 | # define PV_FEX OPT_BUF(BV_FEX) |
112 | 113 | #endif |
@@ -1258,7 +1259,7 @@ static struct vimoption options[] = |
1258 | 1259 | {(char_u *)"^\\s*\\d\\+[\\]:.)}\\t ]\\s*", |
1259 | 1260 | (char_u *)0L} SCRIPTID_INIT}, |
1260 | 1261 | {"formatprg", "fp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, |
1261 | | - (char_u *)&p_fp, PV_NONE, |
| 1262 | + (char_u *)&p_fp, PV_FP, |
1262 | 1263 | {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, |
1263 | 1264 | {"fsync", "fs", P_BOOL|P_SECURE|P_VI_DEF, |
1264 | 1265 | #ifdef HAVE_FSYNC |
@@ -5481,6 +5482,7 @@ check_buf_options(buf_T *buf) |
5481 | 5482 | #if defined(FEAT_CRYPT) |
5482 | 5483 | check_string_option(&buf->b_p_cm); |
5483 | 5484 | #endif |
| 5485 | + check_string_option(&buf->b_p_fp); |
5484 | 5486 | #if defined(FEAT_EVAL) |
5485 | 5487 | check_string_option(&buf->b_p_fex); |
5486 | 5488 | #endif |
@@ -10175,6 +10177,9 @@ unset_global_local_option(char_u *name, void *from) |
10175 | 10177 | clear_string_option(&buf->b_p_tsr); |
10176 | 10178 | break; |
10177 | 10179 | #endif |
| 10180 | + case PV_FP: |
| 10181 | + clear_string_option(&buf->b_p_fp); |
| 10182 | + break; |
10178 | 10183 | #ifdef FEAT_QUICKFIX |
10179 | 10184 | case PV_EFM: |
10180 | 10185 | clear_string_option(&buf->b_p_efm); |
@@ -10228,6 +10233,7 @@ get_varp_scope(struct vimoption *p, int opt_flags) |
10228 | 10233 | { |
10229 | 10234 | switch ((int)p->indir) |
10230 | 10235 | { |
| 10236 | + case PV_FP: return (char_u *)&(curbuf->b_p_fp); |
10231 | 10237 | #ifdef FEAT_QUICKFIX |
10232 | 10238 | case PV_EFM: return (char_u *)&(curbuf->b_p_efm); |
10233 | 10239 | case PV_GP: return (char_u *)&(curbuf->b_p_gp); |
@@ -10308,6 +10314,8 @@ get_varp(struct vimoption *p) |
10308 | 10314 | case PV_TSR: return *curbuf->b_p_tsr != NUL |
10309 | 10315 | ? (char_u *)&(curbuf->b_p_tsr) : p->var; |
10310 | 10316 | #endif |
| 10317 | + case PV_FP: return *curbuf->b_p_fp != NUL |
| 10318 | + ? (char_u *)&(curbuf->b_p_fp) : p->var; |
10311 | 10319 | #ifdef FEAT_QUICKFIX |
10312 | 10320 | case PV_EFM: return *curbuf->b_p_efm != NUL |
10313 | 10321 | ? (char_u *)&(curbuf->b_p_efm) : p->var; |
@@ -10873,6 +10881,7 @@ buf_copy_options(buf_T *buf, int flags) |
10873 | 10881 | buf->b_p_inde = vim_strsave(p_inde); |
10874 | 10882 | buf->b_p_indk = vim_strsave(p_indk); |
10875 | 10883 | #endif |
| 10884 | + buf->b_p_fp = empty_option; |
10876 | 10885 | #if defined(FEAT_EVAL) |
10877 | 10886 | buf->b_p_fex = vim_strsave(p_fex); |
10878 | 10887 | #endif |
|
0 commit comments