From 1932308565579b83fd842de3edae8b0d29290ca8 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Fri, 19 Jun 2015 14:07:19 +0200 Subject: [PATCH] patch 7.4.741 Problem: When using += with ":set" a trailing comma is not recognized. (Issue 365) Solution: Don't add a second comma. Add a test. (partly by Christian Brabandt) --- src/option.c | 4 ++++ src/testdir/Make_amiga.mak | 2 ++ src/testdir/Make_dos.mak | 1 + src/testdir/Make_ming.mak | 1 + src/testdir/Make_os2.mak | 1 + src/testdir/Make_vms.mms | 3 ++- src/testdir/Makefile | 1 + src/version.c | 2 ++ 8 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/option.c b/src/option.c index 79440db9b6..fe0cacf8a9 100644 --- a/src/option.c +++ b/src/option.c @@ -4897,6 +4897,10 @@ do_set(arg, opt_flags) if (adding) { i = (int)STRLEN(origval); + /* strip a trailing comma, would get 2 */ + if (comma && i > 1 && origval[i - 1] == ',' + && origval[i - 2] != '\\') + i--; mch_memmove(newval + i + comma, newval, STRLEN(newval) + 1); mch_memmove(newval, origval, (size_t)i); diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak index 102255dfd0..e7c94c7e90 100644 --- a/src/testdir/Make_amiga.mak +++ b/src/testdir/Make_amiga.mak @@ -54,6 +54,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \ test_nested_function.out \ test_options.out \ test_qf_title.out \ + test_set.out \ test_signs.out \ test_textobjects.out \ test_utf8.out @@ -198,6 +199,7 @@ test_marks.out: test_marks.in test_nested_function.out: test_nested_function.in test_options.out: test_options.in test_qf_title.out: test_qf_title.in +test_set.out: test_set.in test_signs.out: test_signs.in test_textobjects.out: test_textobjects.in test_utf8.out: test_utf8.in diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak index 787d76eaa0..1eec9d7051 100644 --- a/src/testdir/Make_dos.mak +++ b/src/testdir/Make_dos.mak @@ -53,6 +53,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \ test_nested_function.out \ test_options.out \ test_qf_title.out \ + test_set.out \ test_signs.out \ test_textobjects.out \ test_utf8.out diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak index e6942c6238..1d0fd36465 100644 --- a/src/testdir/Make_ming.mak +++ b/src/testdir/Make_ming.mak @@ -75,6 +75,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \ test_nested_function.out \ test_options.out \ test_qf_title.out \ + test_set.out \ test_signs.out \ test_textobjects.out \ test_utf8.out diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak index 224f6951ab..7b5775c895 100644 --- a/src/testdir/Make_os2.mak +++ b/src/testdir/Make_os2.mak @@ -55,6 +55,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \ test_nested_function.out \ test_options.out \ test_qf_title.out \ + test_set.out \ test_signs.out \ test_textobjects.out \ test_utf8.out diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms index a936d2722e..f0742c74fa 100644 --- a/src/testdir/Make_vms.mms +++ b/src/testdir/Make_vms.mms @@ -4,7 +4,7 @@ # Authors: Zoltan Arpadffy, # Sandor Kopanyi, # -# Last change: 2015 Apr 21 +# Last change: 2015 Jun 19 # # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. # Edit the lines in the Configuration section below to select. @@ -114,6 +114,7 @@ SCRIPT = test1.out test2.out test3.out test4.out test5.out \ test_nested_function.out \ test_options.out \ test_qf_title.out \ + test_set.out \ test_signs.out \ test_textobjects.out \ test_utf8.out diff --git a/src/testdir/Makefile b/src/testdir/Makefile index dfcee81994..8e542470ae 100644 --- a/src/testdir/Makefile +++ b/src/testdir/Makefile @@ -51,6 +51,7 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \ test_nested_function.out \ test_options.out \ test_qf_title.out \ + test_set.out \ test_signs.out \ test_textobjects.out \ test_utf8.out diff --git a/src/version.c b/src/version.c index 89b5072d9f..98cbf1f015 100644 --- a/src/version.c +++ b/src/version.c @@ -756,6 +756,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 741, /**/ 740, /**/