Mercurial > vim
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); |