|
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 |
@@ -1270,7 +1271,7 @@ static struct vimoption options[] = |
1270 | 1271 | {(char_u *)"^\\s*\\d\\+[\\]:.)}\\t ]\\s*", |
1271 | 1272 | (char_u *)0L} SCRIPTID_INIT}, |
1272 | 1273 | {"formatprg", "fp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, |
1273 | | - (char_u *)&p_fp, PV_NONE, |
| 1274 | + (char_u *)&p_fp, PV_FP, |
1274 | 1275 | {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, |
1275 | 1276 | {"fsync", "fs", P_BOOL|P_SECURE|P_VI_DEF, |
1276 | 1277 | #ifdef HAVE_FSYNC |
@@ -5574,6 +5575,7 @@ check_buf_options(buf_T *buf) |
5574 | 5575 | #if defined(FEAT_CRYPT) |
5575 | 5576 | check_string_option(&buf->b_p_cm); |
5576 | 5577 | #endif |
| 5578 | + check_string_option(&buf->b_p_fp); |
5577 | 5579 | #if defined(FEAT_EVAL) |
5578 | 5580 | check_string_option(&buf->b_p_fex); |
5579 | 5581 | #endif |
@@ -10358,6 +10360,9 @@ unset_global_local_option(char_u *name, void *from) |
10358 | 10360 | clear_string_option(&buf->b_p_tsr); |
10359 | 10361 | break; |
10360 | 10362 | #endif |
| 10363 | + case PV_FP: |
| 10364 | + clear_string_option(&buf->b_p_fp); |
| 10365 | + break; |
10361 | 10366 | #ifdef FEAT_QUICKFIX |
10362 | 10367 | case PV_EFM: |
10363 | 10368 | clear_string_option(&buf->b_p_efm); |
@@ -10411,6 +10416,7 @@ get_varp_scope(struct vimoption *p, int opt_flags) |
10411 | 10416 | { |
10412 | 10417 | switch ((int)p->indir) |
10413 | 10418 | { |
| 10419 | + case PV_FP: return (char_u *)&(curbuf->b_p_fp); |
10414 | 10420 | #ifdef FEAT_QUICKFIX |
10415 | 10421 | case PV_EFM: return (char_u *)&(curbuf->b_p_efm); |
10416 | 10422 | case PV_GP: return (char_u *)&(curbuf->b_p_gp); |
@@ -10491,6 +10497,8 @@ get_varp(struct vimoption *p) |
10491 | 10497 | case PV_TSR: return *curbuf->b_p_tsr != NUL |
10492 | 10498 | ? (char_u *)&(curbuf->b_p_tsr) : p->var; |
10493 | 10499 | #endif |
| 10500 | + case PV_FP: return *curbuf->b_p_fp != NUL |
| 10501 | + ? (char_u *)&(curbuf->b_p_fp) : p->var; |
10494 | 10502 | #ifdef FEAT_QUICKFIX |
10495 | 10503 | case PV_EFM: return *curbuf->b_p_efm != NUL |
10496 | 10504 | ? (char_u *)&(curbuf->b_p_efm) : p->var; |
@@ -11059,6 +11067,7 @@ buf_copy_options(buf_T *buf, int flags) |
11059 | 11067 | buf->b_p_inde = vim_strsave(p_inde); |
11060 | 11068 | buf->b_p_indk = vim_strsave(p_indk); |
11061 | 11069 | #endif |
| 11070 | + buf->b_p_fp = empty_option; |
11062 | 11071 | #if defined(FEAT_EVAL) |
11063 | 11072 | buf->b_p_fex = vim_strsave(p_fex); |
11064 | 11073 | #endif |
|
0 commit comments