diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index ceb82ef113ce903b67f1c3f284f62dad26076b66..7f4cf813b15685b50bbdaa75b0c55a36d16d03aa 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 7.0. Last change: 2006 Nov 01 +*eval.txt* For Vim version 7.0. Last change: 2007 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1623,6 +1623,7 @@ glob( {expr}) String expand file wildcards in {expr} globpath( {path}, {expr}) String do glob({expr}) for all dirs in {path} has( {feature}) Number TRUE if feature {feature} supported has_key( {dict}, {key}) Number TRUE if {dict} has entry {key} +haslocaldir() Number TRUE if current window executed |:lcd| hasmapto( {what} [, {mode} [, {abbr}]]) Number TRUE if mapping to {what} exists histadd( {history},{item}) String add an item to a history @@ -3016,6 +3017,9 @@ has_key({dict}, {key}) *has_key()* The result is a Number, which is 1 if |Dictionary| {dict} has an entry with key {key}. Zero otherwise. +haslocaldir() *haslocaldir()* + The result is a Number, which is 1 when the current + window has set a local path via |:lcd|, and 0 otherwise. hasmapto({what} [, {mode} [, {abbr}]]) *hasmapto()* The result is a Number, which is 1 if there is a mapping that diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt index 4139ad89f0f81a2ddaade39e0eaaf1f557dcf1e4..652378d70d392f18a682c952146c37bc999205e8 100644 --- a/runtime/doc/usr_41.txt +++ b/runtime/doc/usr_41.txt @@ -1,4 +1,4 @@ -*usr_41.txt* For Vim version 7.0. Last change: 2006 Apr 30 +*usr_41.txt* For Vim version 7.0. Last change: 2007 Apr 26 VIM USER MANUAL - by Bram Moolenaar @@ -703,6 +703,7 @@ System functions and manipulation of files: isdirectory() check if a directory exists getfsize() get the size of a file getcwd() get the current working directory + haslocaldir() check if current window used |:lcd| tempname() get the name of a temporary file mkdir() create a new directory delete() delete a file diff --git a/src/eval.c b/src/eval.c index d66fe57f40027ea5f606e262d3697d568549539d..7a5ca1d6005634d8edf8c9c3fc50f857b5535dfc 100644 --- a/src/eval.c +++ b/src/eval.c @@ -541,6 +541,7 @@ static void f_glob __ARGS((typval_T *argvars, typval_T *rettv)); static void f_globpath __ARGS((typval_T *argvars, typval_T *rettv)); static void f_has __ARGS((typval_T *argvars, typval_T *rettv)); static void f_has_key __ARGS((typval_T *argvars, typval_T *rettv)); +static void f_haslocaldir __ARGS((typval_T *argvars, typval_T *rettv)); static void f_hasmapto __ARGS((typval_T *argvars, typval_T *rettv)); static void f_histadd __ARGS((typval_T *argvars, typval_T *rettv)); static void f_histdel __ARGS((typval_T *argvars, typval_T *rettv)); @@ -7110,6 +7111,7 @@ static struct fst {"globpath", 2, 2, f_globpath}, {"has", 1, 1, f_has}, {"has_key", 2, 2, f_has_key}, + {"haslocaldir", 0, 0, f_haslocaldir}, {"hasmapto", 1, 3, f_hasmapto}, {"highlightID", 1, 1, f_hlID}, /* obsolete */ {"highlight_exists",1, 1, f_hlexists}, /* obsolete */ @@ -11133,6 +11135,18 @@ f_has_key(argvars, rettv) get_tv_string(&argvars[1]), -1) != NULL; } +/* + * "haslocaldir()" function + */ +/*ARGSUSED*/ + static void +f_haslocaldir(argvars, rettv) + typval_T *argvars; + typval_T *rettv; +{ + rettv->vval.v_number = (curwin->w_localdir != NULL); +} + /* * "hasmapto()" function */ diff --git a/src/version.c b/src/version.c index a825b38080fdc6f696a462c5a84eca95b15e67eb..672a409e06146615a161abaf15ad29b2bb7b7deb 100644 --- a/src/version.c +++ b/src/version.c @@ -666,6 +666,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 230, /**/ 229, /**/