From: Bram Moolenaar Date: Sat, 11 Nov 2017 17:16:48 +0000 (+0100) Subject: patch 8.0.1289: mkview always includes the local directory X-Git-Tag: v8.0.1289 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=13e904199c2af6aac9b289a7f520d8e16f6e478a;p=vim patch 8.0.1289: mkview always includes the local directory Problem: Mkview always includes the local directory. Solution: Add the "curdir" value in 'viewoptions'. (Eric Roberts, closes #2316) --- diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 28b545721..33dfea09a 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -8387,7 +8387,7 @@ A jump table for the options with a short description can be found at |Q_op|. security reasons. *'viewoptions'* *'vop'* -'viewoptions' 'vop' string (default: "folds,options,cursor") +'viewoptions' 'vop' string (default: "folds,options,cursor,curdir") global {not in Vi} {not available when compiled without the |+mksession| @@ -8405,6 +8405,7 @@ A jump table for the options with a short description can be found at |Q_op|. slashes unix with Unix end-of-line format (single ), even when on Windows or DOS + curdir the window-local directory, if set with `:lcd` "slash" and "unix" are useful on Windows when sharing view files with Unix. The Unix version of Vim cannot source dos format scripts, diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 547d1acdb..84a72e112 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -11695,9 +11695,11 @@ put_view( } /* - * Local directory. + * Local directory, if the current flag is not view options or the "curdir" + * option is included. */ - if (wp->w_localdir != NULL) + if (wp->w_localdir != NULL + && (flagp != &vop_flags || (*flagp & SSOP_CURDIR))) { if (fputs("lcd ", fd) < 0 || ses_put_fname(fd, wp->w_localdir, flagp) == FAIL diff --git a/src/option.c b/src/option.c index ceafea389..4f25c1ff4 100644 --- a/src/option.c +++ b/src/option.c @@ -2926,7 +2926,8 @@ static struct vimoption options[] = {"viewoptions", "vop", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP, #ifdef FEAT_SESSION (char_u *)&p_vop, PV_NONE, - {(char_u *)"folds,options,cursor", (char_u *)0L} + {(char_u *)"folds,options,cursor,curdir", + (char_u *)0L} #else (char_u *)NULL, PV_NONE, {(char_u *)0L, (char_u *)0L} diff --git a/src/version.c b/src/version.c index ee1974541..41bfa749b 100644 --- a/src/version.c +++ b/src/version.c @@ -761,6 +761,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1289, /**/ 1288, /**/