| To: vim_dev@googlegroups.com |
| Subject: Patch 7.4.201 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.4.201 |
| Problem: 'lispwords' is a global option. |
| Solution: Make 'lispwords' global-local. (Sung Pae) |
| Files: runtime/doc/options.txt, runtime/optwin.vim, src/buffer.c, |
| src/misc1.c, src/option.c, src/option.h, src/structs.h, |
| src/testdir/test100.in, src/testdir/test100.ok |
| |
| |
| |
| |
| |
| *** 4629,4635 **** |
| |
| *'lispwords'* *'lw'* |
| 'lispwords' 'lw' string (default is very long) |
| ! global |
| {not in Vi} |
| {not available when compiled without the |+lispindent| |
| feature} |
| --- 4629,4635 ---- |
| |
| *'lispwords'* *'lw'* |
| 'lispwords' 'lw' string (default is very long) |
| ! global or local to buffer |global-local| |
| {not in Vi} |
| {not available when compiled without the |+lispindent| |
| feature} |
| |
| |
| |
| *** 855,861 **** |
| call append("$", "\t(local to buffer)") |
| call <SID>BinOptionL("lisp") |
| call append("$", "lispwords\twords that change how lisp indenting works") |
| ! call <SID>OptionG("lw", &lw) |
| endif |
| |
| |
| --- 855,861 ---- |
| call append("$", "\t(local to buffer)") |
| call <SID>BinOptionL("lisp") |
| call append("$", "lispwords\twords that change how lisp indenting works") |
| ! call <SID>OptionL("lw", &lw) |
| endif |
| |
| |
| |
| |
| |
| *** 1978,1983 **** |
| --- 1978,1986 ---- |
| #endif |
| buf->b_p_ar = -1; |
| buf->b_p_ul = NO_LOCAL_UNDOLEVEL; |
| + #ifdef FEAT_LISP |
| + clear_string_option(&buf->b_p_lw); |
| + #endif |
| } |
| |
| /* |
| |
| |
| |
| *** 8879,8885 **** |
| { |
| char_u buf[LSIZE]; |
| int len; |
| ! char_u *word = p_lispwords; |
| |
| while (*word != NUL) |
| { |
| --- 8879,8885 ---- |
| { |
| char_u buf[LSIZE]; |
| int len; |
| ! char_u *word = *curbuf->b_p_lw != NUL ? curbuf->b_p_lw : p_lispwords; |
| |
| while (*word != NUL) |
| { |
| |
| |
| |
| *** 134,139 **** |
| --- 134,140 ---- |
| #define PV_KP OPT_BOTH(OPT_BUF(BV_KP)) |
| #ifdef FEAT_LISP |
| # define PV_LISP OPT_BUF(BV_LISP) |
| + # define PV_LW OPT_BOTH(OPT_BUF(BV_LW)) |
| #endif |
| #define PV_MA OPT_BUF(BV_MA) |
| #define PV_ML OPT_BUF(BV_ML) |
| |
| *** 1718,1724 **** |
| {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, |
| {"lispwords", "lw", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, |
| #ifdef FEAT_LISP |
| ! (char_u *)&p_lispwords, PV_NONE, |
| {(char_u *)LISPWORD_VALUE, (char_u *)0L} |
| #else |
| (char_u *)NULL, PV_NONE, |
| --- 1719,1725 ---- |
| {(char_u *)FALSE, (char_u *)0L} SCRIPTID_INIT}, |
| {"lispwords", "lw", P_STRING|P_VI_DEF|P_COMMA|P_NODUP, |
| #ifdef FEAT_LISP |
| ! (char_u *)&p_lispwords, PV_LW, |
| {(char_u *)LISPWORD_VALUE, (char_u *)0L} |
| #else |
| (char_u *)NULL, PV_NONE, |
| |
| *** 5412,5417 **** |
| --- 5413,5421 ---- |
| check_string_option(&buf->b_p_dict); |
| check_string_option(&buf->b_p_tsr); |
| #endif |
| + #ifdef FEAT_LISP |
| + check_string_option(&buf->b_p_lw); |
| + #endif |
| } |
| |
| /* |
| |
| *** 9879,9884 **** |
| --- 9883,9893 ---- |
| 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 |
| } |
| } |
| |
| |
| *** 9928,9933 **** |
| --- 9937,9945 ---- |
| 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 |
| } |
| return NULL; /* "cannot happen" */ |
| } |
| |
| *** 9994,9999 **** |
| --- 10006,10015 ---- |
| #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 |
| |
| #ifdef FEAT_ARABIC |
| case PV_ARAB: return (char_u *)&(curwin->w_p_arab); |
| |
| *** 10567,10572 **** |
| --- 10583,10591 ---- |
| #ifdef FEAT_PERSISTENT_UNDO |
| buf->b_p_udf = p_udf; |
| #endif |
| + #ifdef FEAT_LISP |
| + buf->b_p_lw = empty_option; |
| + #endif |
| |
| /* |
| * Don't copy the options set by ex_help(), use the saved values, |
| |
| |
| |
| *** 990,995 **** |
| --- 990,996 ---- |
| , BV_KP |
| #ifdef FEAT_LISP |
| , BV_LISP |
| + , BV_LW |
| #endif |
| , BV_MA |
| , BV_ML |
| |
| |
| |
| *** 1641,1646 **** |
| --- 1641,1649 ---- |
| #ifdef FEAT_PERSISTENT_UNDO |
| int b_p_udf; /* 'undofile' */ |
| #endif |
| + #ifdef FEAT_LISP |
| + char_u *b_p_lw; /* 'lispwords' local value */ |
| + #endif |
| |
| /* end of buffer options */ |
| |
| |
| |
| |
| *** 1,4 **** |
| ! Tests for 'undolevel' setting being global-local |
| |
| STARTTEST |
| :so small.vim |
| --- 1,4 ---- |
| ! Tests for 'undolevel' and 'lispwords' settings being global-local |
| |
| STARTTEST |
| :so small.vim |
| |
| *** 37,42 **** |
| --- 37,50 ---- |
| :call UndoLevel() |
| :%w >> test.out |
| :"sleep 10 |
| + :" |
| + :" Testing 'lispwords' |
| + :" |
| + :setglobal lispwords=foo,bar,baz |
| + :setlocal lispwords-=foo | setlocal lispwords+=quux |
| + :redir >> test.out | echon "\nTesting 'lispwords' local value" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end |
| + :setlocal lispwords< |
| + :redir >> test.out | echon "\nTesting 'lispwords' value reset" | setglobal lispwords? | setlocal lispwords? | echo &lispwords . "\n" | redir end |
| :qa! |
| ENDTEST |
| |
| |
| |
| |
| *** 39,41 **** |
| --- 39,51 ---- |
| |
| undolevels=50 global |
| undolevels=-123456 local |
| + |
| + Testing 'lispwords' local value |
| + lispwords=foo,bar,baz |
| + lispwords=bar,baz,quux |
| + bar,baz,quux |
| + |
| + Testing 'lispwords' value reset |
| + lispwords=foo,bar,baz |
| + lispwords=foo,bar,baz |
| + foo,bar,baz |
| |
| |
| |
| *** 740,741 **** |
| --- 740,743 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 201, |
| /**/ |
| |
| -- |
| Lawmakers made it obligatory for everybody to take at least one bath |
| each week -- on Saturday night. |
| [real standing law in Vermont, United States of America] |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ an exciting new programming language -- http://www.Zimbu.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |