mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
patch 8.2.4993: smart/C/lisp indenting is optional
Problem: smart/C/lisp indenting is optional, which makes the code more complex, while it only reduces the executable size a bit. Solution: Graduate FEAT_CINDENT, FEAT_SMARTINDENT and FEAT_LISP.
This commit is contained in:
44
src/option.c
44
src/option.c
@@ -658,9 +658,7 @@ set_options_default(
|
||||
// The 'scroll' option must be computed for all windows.
|
||||
FOR_ALL_TAB_WINDOWS(tp, wp)
|
||||
win_comp_scroll(wp);
|
||||
#ifdef FEAT_CINDENT
|
||||
parse_cino(curbuf);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -2538,9 +2536,7 @@ insecure_flag(int opt_idx, int opt_flags)
|
||||
# ifdef FEAT_BEVAL
|
||||
case PV_BEXPR: return &curbuf->b_p_bexpr_flags;
|
||||
# endif
|
||||
# if defined(FEAT_CINDENT)
|
||||
case PV_INDE: return &curbuf->b_p_inde_flags;
|
||||
# endif
|
||||
case PV_FEX: return &curbuf->b_p_fex_flags;
|
||||
# ifdef FEAT_FIND_ID
|
||||
case PV_INEX: return &curbuf->b_p_inex_flags;
|
||||
@@ -2991,12 +2987,10 @@ set_bool_option(
|
||||
* When 'lisp' option changes include/exclude '-' in
|
||||
* keyword characters.
|
||||
*/
|
||||
#ifdef FEAT_LISP
|
||||
else if (varp == (char_u *)&(curbuf->b_p_lisp))
|
||||
{
|
||||
(void)buf_init_chartab(curbuf, FALSE); // ignore errors
|
||||
}
|
||||
#endif
|
||||
|
||||
// when 'title' changed, may need to change the title; same for 'icon'
|
||||
else if ((int *)varp == &p_title || (int *)varp == &p_icon)
|
||||
@@ -3490,22 +3484,18 @@ set_num_option(
|
||||
}
|
||||
#endif // FEAT_FOLDING
|
||||
|
||||
#if defined(FEAT_FOLDING) || defined(FEAT_CINDENT)
|
||||
// 'shiftwidth' or 'tabstop'
|
||||
else if (pp == &curbuf->b_p_sw || pp == &curbuf->b_p_ts)
|
||||
{
|
||||
# ifdef FEAT_FOLDING
|
||||
#ifdef FEAT_FOLDING
|
||||
if (foldmethodIsIndent(curwin))
|
||||
foldUpdateAll(curwin);
|
||||
# endif
|
||||
# ifdef FEAT_CINDENT
|
||||
#endif
|
||||
// When 'shiftwidth' changes, or it's zero and 'tabstop' changes:
|
||||
// parse 'cinoptions'.
|
||||
if (pp == &curbuf->b_p_sw || curbuf->b_p_sw == 0)
|
||||
parse_cino(curbuf);
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
// 'maxcombine'
|
||||
else if (pp == &p_mco)
|
||||
@@ -5206,11 +5196,9 @@ unset_global_local_option(char_u *name, void *from)
|
||||
case PV_UL:
|
||||
buf->b_p_ul = NO_LOCAL_UNDOLEVEL;
|
||||
break;
|
||||
#ifdef FEAT_LISP
|
||||
case PV_LW:
|
||||
clear_string_option(&buf->b_p_lw);
|
||||
break;
|
||||
#endif
|
||||
case PV_MENC:
|
||||
clear_string_option(&buf->b_p_menc);
|
||||
break;
|
||||
@@ -5280,9 +5268,7 @@ get_varp_scope(struct vimoption *p, int scope)
|
||||
case PV_STL: return (char_u *)&(curwin->w_p_stl);
|
||||
#endif
|
||||
case PV_UL: return (char_u *)&(curbuf->b_p_ul);
|
||||
#ifdef FEAT_LISP
|
||||
case PV_LW: return (char_u *)&(curbuf->b_p_lw);
|
||||
#endif
|
||||
case PV_BKC: return (char_u *)&(curbuf->b_p_bkc);
|
||||
case PV_MENC: return (char_u *)&(curbuf->b_p_menc);
|
||||
case PV_LCS: return (char_u *)&(curwin->w_p_lcs);
|
||||
@@ -5379,10 +5365,8 @@ get_varp(struct vimoption *p)
|
||||
#endif
|
||||
case PV_UL: return curbuf->b_p_ul != NO_LOCAL_UNDOLEVEL
|
||||
? (char_u *)&(curbuf->b_p_ul) : p->var;
|
||||
#ifdef FEAT_LISP
|
||||
case PV_LW: return *curbuf->b_p_lw != NUL
|
||||
? (char_u *)&(curbuf->b_p_lw) : p->var;
|
||||
#endif
|
||||
case PV_MENC: return *curbuf->b_p_menc != NUL
|
||||
? (char_u *)&(curbuf->b_p_menc) : p->var;
|
||||
#ifdef FEAT_ARABIC
|
||||
@@ -5460,15 +5444,11 @@ get_varp(struct vimoption *p)
|
||||
case PV_BT: return (char_u *)&(curbuf->b_p_bt);
|
||||
case PV_BL: return (char_u *)&(curbuf->b_p_bl);
|
||||
case PV_CI: return (char_u *)&(curbuf->b_p_ci);
|
||||
#ifdef FEAT_CINDENT
|
||||
case PV_CIN: return (char_u *)&(curbuf->b_p_cin);
|
||||
case PV_CINK: return (char_u *)&(curbuf->b_p_cink);
|
||||
case PV_CINO: return (char_u *)&(curbuf->b_p_cino);
|
||||
case PV_CINSD: return (char_u *)&(curbuf->b_p_cinsd);
|
||||
#endif
|
||||
#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
|
||||
case PV_CINW: return (char_u *)&(curbuf->b_p_cinw);
|
||||
#endif
|
||||
case PV_COM: return (char_u *)&(curbuf->b_p_com);
|
||||
#ifdef FEAT_FOLDING
|
||||
case PV_CMS: return (char_u *)&(curbuf->b_p_cms);
|
||||
@@ -5501,7 +5481,7 @@ get_varp(struct vimoption *p)
|
||||
case PV_INEX: return (char_u *)&(curbuf->b_p_inex);
|
||||
# endif
|
||||
#endif
|
||||
#if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
|
||||
#if defined(FEAT_EVAL)
|
||||
case PV_INDE: return (char_u *)&(curbuf->b_p_inde);
|
||||
case PV_INDK: return (char_u *)&(curbuf->b_p_indk);
|
||||
#endif
|
||||
@@ -5511,9 +5491,7 @@ get_varp(struct vimoption *p)
|
||||
#ifdef FEAT_CRYPT
|
||||
case PV_KEY: return (char_u *)&(curbuf->b_p_key);
|
||||
#endif
|
||||
#ifdef FEAT_LISP
|
||||
case PV_LISP: return (char_u *)&(curbuf->b_p_lisp);
|
||||
#endif
|
||||
case PV_ML: return (char_u *)&(curbuf->b_p_ml);
|
||||
case PV_MPS: return (char_u *)&(curbuf->b_p_mps);
|
||||
case PV_MA: return (char_u *)&(curbuf->b_p_ma);
|
||||
@@ -5524,9 +5502,7 @@ get_varp(struct vimoption *p)
|
||||
case PV_QE: return (char_u *)&(curbuf->b_p_qe);
|
||||
#endif
|
||||
case PV_RO: return (char_u *)&(curbuf->b_p_ro);
|
||||
#ifdef FEAT_SMARTINDENT
|
||||
case PV_SI: return (char_u *)&(curbuf->b_p_si);
|
||||
#endif
|
||||
case PV_SN: return (char_u *)&(curbuf->b_p_sn);
|
||||
case PV_STS: return (char_u *)&(curbuf->b_p_sts);
|
||||
#ifdef FEAT_SEARCHPATH
|
||||
@@ -6023,13 +5999,11 @@ buf_copy_options(buf_T *buf, int flags)
|
||||
COPY_OPT_SCTX(buf, BV_NF);
|
||||
buf->b_p_mps = vim_strsave(p_mps);
|
||||
COPY_OPT_SCTX(buf, BV_MPS);
|
||||
#ifdef FEAT_SMARTINDENT
|
||||
buf->b_p_si = p_si;
|
||||
COPY_OPT_SCTX(buf, BV_SI);
|
||||
#endif
|
||||
buf->b_p_ci = p_ci;
|
||||
COPY_OPT_SCTX(buf, BV_CI);
|
||||
#ifdef FEAT_CINDENT
|
||||
|
||||
buf->b_p_cin = p_cin;
|
||||
COPY_OPT_SCTX(buf, BV_CIN);
|
||||
buf->b_p_cink = vim_strsave(p_cink);
|
||||
@@ -6038,19 +6012,15 @@ buf_copy_options(buf_T *buf, int flags)
|
||||
COPY_OPT_SCTX(buf, BV_CINO);
|
||||
buf->b_p_cinsd = vim_strsave(p_cinsd);
|
||||
COPY_OPT_SCTX(buf, BV_CINSD);
|
||||
#endif
|
||||
|
||||
// Don't copy 'filetype', it must be detected
|
||||
buf->b_p_ft = empty_option;
|
||||
buf->b_p_pi = p_pi;
|
||||
COPY_OPT_SCTX(buf, BV_PI);
|
||||
#if defined(FEAT_SMARTINDENT) || defined(FEAT_CINDENT)
|
||||
buf->b_p_cinw = vim_strsave(p_cinw);
|
||||
COPY_OPT_SCTX(buf, BV_CINW);
|
||||
#endif
|
||||
#ifdef FEAT_LISP
|
||||
buf->b_p_lisp = p_lisp;
|
||||
COPY_OPT_SCTX(buf, BV_LISP);
|
||||
#endif
|
||||
#ifdef FEAT_SYN_HL
|
||||
// Don't copy 'syntax', it must be set
|
||||
buf->b_p_syn = empty_option;
|
||||
@@ -6069,7 +6039,7 @@ buf_copy_options(buf_T *buf, int flags)
|
||||
buf->b_s.b_p_spo = vim_strsave(p_spo);
|
||||
COPY_OPT_SCTX(buf, BV_SPO);
|
||||
#endif
|
||||
#if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
|
||||
#if defined(FEAT_EVAL)
|
||||
buf->b_p_inde = vim_strsave(p_inde);
|
||||
COPY_OPT_SCTX(buf, BV_INDE);
|
||||
buf->b_p_indk = vim_strsave(p_indk);
|
||||
@@ -6148,9 +6118,7 @@ buf_copy_options(buf_T *buf, int flags)
|
||||
buf->b_p_udf = p_udf;
|
||||
COPY_OPT_SCTX(buf, BV_UDF);
|
||||
#endif
|
||||
#ifdef FEAT_LISP
|
||||
buf->b_p_lw = empty_option;
|
||||
#endif
|
||||
buf->b_p_menc = empty_option;
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user