comparison src/option.c @ 10579:688b97124d23 v8.0.0179

patch 8.0.0179: cannot have a local value for 'formatprg' commit https://github.com/vim/vim/commit/9be7c04e6cd5b0facedcb56b09a5bcfc339efe03 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jan 14 14:28:30 2017 +0100 patch 8.0.0179: cannot have a local value for 'formatprg' Problem: 'formatprg' is a global option but the value may depend on the type of buffer. (Sung Pae) Solution: Make 'formatprg' global-local. (closes #1380)
author Christian Brabandt <cb@256bit.org>
date Sat, 14 Jan 2017 14:30:04 +0100
parents 536a7d49249c
children 27be410d6d29
comparison
equal deleted inserted replaced
10578:6bdfba1a1ee2 10579:688b97124d23
105 # define PV_FENC OPT_BUF(BV_FENC) 105 # define PV_FENC OPT_BUF(BV_FENC)
106 #endif 106 #endif
107 #if defined(FEAT_BEVAL) && defined(FEAT_EVAL) 107 #if defined(FEAT_BEVAL) && defined(FEAT_EVAL)
108 # define PV_BEXPR OPT_BOTH(OPT_BUF(BV_BEXPR)) 108 # define PV_BEXPR OPT_BOTH(OPT_BUF(BV_BEXPR))
109 #endif 109 #endif
110 #define PV_FP OPT_BOTH(OPT_BUF(BV_FP))
110 #ifdef FEAT_EVAL 111 #ifdef FEAT_EVAL
111 # define PV_FEX OPT_BUF(BV_FEX) 112 # define PV_FEX OPT_BUF(BV_FEX)
112 #endif 113 #endif
113 #define PV_FF OPT_BUF(BV_FF) 114 #define PV_FF OPT_BUF(BV_FF)
114 #define PV_FLP OPT_BUF(BV_FLP) 115 #define PV_FLP OPT_BUF(BV_FLP)
1256 {"formatlistpat","flp", P_STRING|P_ALLOCED|P_VI_DEF, 1257 {"formatlistpat","flp", P_STRING|P_ALLOCED|P_VI_DEF,
1257 (char_u *)&p_flp, PV_FLP, 1258 (char_u *)&p_flp, PV_FLP,
1258 {(char_u *)"^\\s*\\d\\+[\\]:.)}\\t ]\\s*", 1259 {(char_u *)"^\\s*\\d\\+[\\]:.)}\\t ]\\s*",
1259 (char_u *)0L} SCRIPTID_INIT}, 1260 (char_u *)0L} SCRIPTID_INIT},
1260 {"formatprg", "fp", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE, 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 {(char_u *)"", (char_u *)0L} SCRIPTID_INIT}, 1263 {(char_u *)"", (char_u *)0L} SCRIPTID_INIT},
1263 {"fsync", "fs", P_BOOL|P_SECURE|P_VI_DEF, 1264 {"fsync", "fs", P_BOOL|P_SECURE|P_VI_DEF,
1264 #ifdef HAVE_FSYNC 1265 #ifdef HAVE_FSYNC
1265 (char_u *)&p_fs, PV_NONE, 1266 (char_u *)&p_fs, PV_NONE,
1266 {(char_u *)TRUE, (char_u *)0L} 1267 {(char_u *)TRUE, (char_u *)0L}
5479 check_string_option(&buf->b_p_bexpr); 5480 check_string_option(&buf->b_p_bexpr);
5480 #endif 5481 #endif
5481 #if defined(FEAT_CRYPT) 5482 #if defined(FEAT_CRYPT)
5482 check_string_option(&buf->b_p_cm); 5483 check_string_option(&buf->b_p_cm);
5483 #endif 5484 #endif
5485 check_string_option(&buf->b_p_fp);
5484 #if defined(FEAT_EVAL) 5486 #if defined(FEAT_EVAL)
5485 check_string_option(&buf->b_p_fex); 5487 check_string_option(&buf->b_p_fex);
5486 #endif 5488 #endif
5487 #ifdef FEAT_CRYPT 5489 #ifdef FEAT_CRYPT
5488 check_string_option(&buf->b_p_key); 5490 check_string_option(&buf->b_p_key);
10173 break; 10175 break;
10174 case PV_TSR: 10176 case PV_TSR:
10175 clear_string_option(&buf->b_p_tsr); 10177 clear_string_option(&buf->b_p_tsr);
10176 break; 10178 break;
10177 #endif 10179 #endif
10180 case PV_FP:
10181 clear_string_option(&buf->b_p_fp);
10182 break;
10178 #ifdef FEAT_QUICKFIX 10183 #ifdef FEAT_QUICKFIX
10179 case PV_EFM: 10184 case PV_EFM:
10180 clear_string_option(&buf->b_p_efm); 10185 clear_string_option(&buf->b_p_efm);
10181 break; 10186 break;
10182 case PV_GP: 10187 case PV_GP:
10226 } 10231 }
10227 if ((opt_flags & OPT_LOCAL) && ((int)p->indir & PV_BOTH)) 10232 if ((opt_flags & OPT_LOCAL) && ((int)p->indir & PV_BOTH))
10228 { 10233 {
10229 switch ((int)p->indir) 10234 switch ((int)p->indir)
10230 { 10235 {
10236 case PV_FP: return (char_u *)&(curbuf->b_p_fp);
10231 #ifdef FEAT_QUICKFIX 10237 #ifdef FEAT_QUICKFIX
10232 case PV_EFM: return (char_u *)&(curbuf->b_p_efm); 10238 case PV_EFM: return (char_u *)&(curbuf->b_p_efm);
10233 case PV_GP: return (char_u *)&(curbuf->b_p_gp); 10239 case PV_GP: return (char_u *)&(curbuf->b_p_gp);
10234 case PV_MP: return (char_u *)&(curbuf->b_p_mp); 10240 case PV_MP: return (char_u *)&(curbuf->b_p_mp);
10235 #endif 10241 #endif
10306 case PV_DICT: return *curbuf->b_p_dict != NUL 10312 case PV_DICT: return *curbuf->b_p_dict != NUL
10307 ? (char_u *)&(curbuf->b_p_dict) : p->var; 10313 ? (char_u *)&(curbuf->b_p_dict) : p->var;
10308 case PV_TSR: return *curbuf->b_p_tsr != NUL 10314 case PV_TSR: return *curbuf->b_p_tsr != NUL
10309 ? (char_u *)&(curbuf->b_p_tsr) : p->var; 10315 ? (char_u *)&(curbuf->b_p_tsr) : p->var;
10310 #endif 10316 #endif
10317 case PV_FP: return *curbuf->b_p_fp != NUL
10318 ? (char_u *)&(curbuf->b_p_fp) : p->var;
10311 #ifdef FEAT_QUICKFIX 10319 #ifdef FEAT_QUICKFIX
10312 case PV_EFM: return *curbuf->b_p_efm != NUL 10320 case PV_EFM: return *curbuf->b_p_efm != NUL
10313 ? (char_u *)&(curbuf->b_p_efm) : p->var; 10321 ? (char_u *)&(curbuf->b_p_efm) : p->var;
10314 case PV_GP: return *curbuf->b_p_gp != NUL 10322 case PV_GP: return *curbuf->b_p_gp != NUL
10315 ? (char_u *)&(curbuf->b_p_gp) : p->var; 10323 ? (char_u *)&(curbuf->b_p_gp) : p->var;
10871 #endif 10879 #endif
10872 #if defined(FEAT_CINDENT) && defined(FEAT_EVAL) 10880 #if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
10873 buf->b_p_inde = vim_strsave(p_inde); 10881 buf->b_p_inde = vim_strsave(p_inde);
10874 buf->b_p_indk = vim_strsave(p_indk); 10882 buf->b_p_indk = vim_strsave(p_indk);
10875 #endif 10883 #endif
10884 buf->b_p_fp = empty_option;
10876 #if defined(FEAT_EVAL) 10885 #if defined(FEAT_EVAL)
10877 buf->b_p_fex = vim_strsave(p_fex); 10886 buf->b_p_fex = vim_strsave(p_fex);
10878 #endif 10887 #endif
10879 #ifdef FEAT_CRYPT 10888 #ifdef FEAT_CRYPT
10880 buf->b_p_key = vim_strsave(p_key); 10889 buf->b_p_key = vim_strsave(p_key);