Mercurial > vim
changeset 3168:6672b1645306 v7.3.354
updated for version 7.3.354
Problem: ":set backspace+=eol" doesn't work when 'backspace' has a
backwards compatible value of 2.
Solution: Convert the number to a string. (Hirohito Higashi)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 30 Nov 2011 11:15:47 +0100 |
parents | 379a6398d462 |
children | 8fc1710a75c9 |
files | src/option.c src/version.c |
diffstat | 2 files changed, 27 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/option.c +++ b/src/option.c @@ -4567,6 +4567,31 @@ do_set(arg, opt_flags) arg = errbuf; } /* + * Convert 'backspace' number to string, for + * adding, prepending and removing string. + */ + else if (varp == (char_u *)&p_bs + && VIM_ISDIGIT(**(char_u **)varp)) + { + i = getdigits((char_u **)varp); + switch (i) + { + case 0: + *(char_u **)varp = empty_option; + break; + case 1: + *(char_u **)varp = vim_strsave( + (char_u *)"indent,eol"); + break; + case 2: + *(char_u **)varp = vim_strsave( + (char_u *)"indent,eol,start"); + break; + } + vim_free(oldval); + oldval = *(char_u **)varp; + } + /* * Convert 'whichwrap' number to string, for * backwards compatibility with Vim 3.0. * Misuse errbuf[] for the resulting string.