diff --git a/src/option.c b/src/option.c index 6e9b3db1a4..a545588f41 100644 --- a/src/option.c +++ b/src/option.c @@ -9185,7 +9185,7 @@ put_setstring(fd, cmd, name, valuep, expand) int expand; { char_u *s; - char_u buf[MAXPATHL]; + char_u *buf; if (fprintf(fd, "%s %s=", cmd, name) < 0) return FAIL; @@ -9203,9 +9203,16 @@ put_setstring(fd, cmd, name, valuep, expand) } else if (expand) { + buf = alloc(MAXPATHL); + if (buf == NULL) + return FAIL; home_replace(NULL, *valuep, buf, MAXPATHL, FALSE); if (put_escstr(fd, buf, 2) == FAIL) + { + vim_free(buf); return FAIL; + } + vim_free(buf); } else if (put_escstr(fd, *valuep, 2) == FAIL) return FAIL; diff --git a/src/version.c b/src/version.c index 0bc4b7f736..031a0715cc 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 166, /**/ 165, /**/