summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-08-25 16:02:23 +0100
committerBram Moolenaar <Bram@vim.org>2022-08-25 16:02:23 +0100
commitf80f40a55ccff0a4331c5fbd1ac446511f622ed0 (patch)
tree6a43d76ea652831205c8df6439b98717a6425188
parentb213703f358e1e10ba0affb3729c09ccb2c88ea3 (diff)
downloadvim-git-f80f40a55ccff0a4331c5fbd1ac446511f622ed0.tar.gz
patch 9.0.0265: no good reason why the "gf" command isn't in the tiny versionv9.0.0265
Problem: No good reason why the "gf" command is not in the tiny version. Solution: Graduate the file_in_path feature.
-rw-r--r--runtime/doc/builtin.txt5
-rw-r--r--runtime/doc/cmdline.txt3
-rw-r--r--runtime/doc/editing.txt4
-rw-r--r--runtime/doc/options.txt4
-rw-r--r--runtime/doc/tabpage.txt2
-rw-r--r--runtime/doc/windows.txt8
-rw-r--r--src/alloc.c6
-rw-r--r--src/buffer.c2
-rw-r--r--src/errors.h4
-rw-r--r--src/evalfunc.c8
-rw-r--r--src/ex_docmd.c17
-rw-r--r--src/feature.h18
-rw-r--r--src/filepath.c10
-rw-r--r--src/findfile.c10
-rw-r--r--src/misc2.c8
-rw-r--r--src/normal.c6
-rw-r--r--src/option.c14
-rw-r--r--src/option.h6
-rw-r--r--src/optiondefs.h14
-rw-r--r--src/optionstr.c2
-rw-r--r--src/register.c4
-rw-r--r--src/structs.h2
-rw-r--r--src/testdir/test_options.vim1
-rw-r--r--src/version.c6
-rw-r--r--src/window.c13
25 files changed, 20 insertions, 157 deletions
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 7df5e9f09..49d538d1e 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -2736,8 +2736,6 @@ finddir({name} [, {path} [, {count}]]) *finddir()*
Returns an empty string if the directory is not found.
This is quite similar to the ex-command `:find`.
- {only available when compiled with the |+file_in_path|
- feature}
Can also be used as a |method|: >
GetName()->finddir()
@@ -10532,7 +10530,8 @@ ex_extra |+ex_extra| (always true)
extra_search Compiled with support for |'incsearch'| and
|'hlsearch'|
farsi Support for Farsi was removed |farsi|.
-file_in_path Compiled with support for |gf| and |<cfile>|
+file_in_path Compiled with support for |gf| and |<cfile>| (always
+ true)
filterpipe When 'shelltemp' is off pipes are used for shell
read/write/filter commands
find_in_path Compiled with support for include file searches
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index e09ec39a5..e29369cb6 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -199,9 +199,6 @@ CTRL-R CTRL-L *c_CTRL-R_CTRL-L* *c_<C-R>_<C-L>*
currently displayed match is used. With CTRL-W the part of
the word that was already typed is not inserted again.
- CTRL-F and CTRL-P: {only when |+file_in_path| feature is
- included}
-
*c_CTRL-R_CTRL-R* *c_<C-R>_<C-R>*
*c_CTRL-R_CTRL-O* *c_<C-R>_<C-O>*
CTRL-R CTRL-R {register CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 0ce48af0d..7eaf48d51 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -247,8 +247,6 @@ If you want to keep the changed buffer without saving it, switch on the
*:fin* *:find*
:fin[d][!] [++opt] [+cmd] {file}
Find {file} in 'path' and then |:edit| it.
- {not available when the |+file_in_path| feature was
- disabled at compile time}
:{count}fin[d][!] [++opt] [+cmd] {file}
Just like ":find", but use the {count} match in
@@ -322,8 +320,6 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
For Unix the '~' character is expanded, like in
"~user/file". Environment variables are expanded too
|expand-env|.
- {not available when the |+file_in_path| feature was
- disabled at compile time}
*v_gf*
{Visual}[count]gf Same as "gf", but the highlighted text is used as the
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 914176364..1a21be8ba 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1559,8 +1559,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'cdpath'* *'cd'* *E344* *E346*
'cdpath' 'cd' string (default: equivalent to $CDPATH or ",,")
global
- {not available when compiled without the
- |+file_in_path| feature}
This is a list of directories which will be searched when using the
|:cd|, |:tcd| and |:lcd| commands, provided that the directory being
searched for has a relative path, not an absolute part starting with
@@ -7726,8 +7724,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'suffixesadd'* *'sua'*
'suffixesadd' 'sua' string (default "")
local to buffer
- {not available when compiled without the
- |+file_in_path| feature}
Comma-separated list of suffixes, which are used when searching for a
file for the "gf", "[I", etc. commands. Example: >
:set suffixesadd=.java
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index 54ac11e17..a010e2fd2 100644
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -81,8 +81,6 @@ For the related autocommands see |tabnew-autocmd|.
:[count]tabf[ind] [++opt] [+cmd] {file} *:tabf* *:tabfind*
Open a new tab page and edit {file} in 'path', like with
|:find|. For [count] see |:tabnew| above.
- {not available when the |+file_in_path| feature was disabled
- at compile time}
:[count]tab {cmd} *:tab*
Execute {cmd} and when it opens a new window open a new tab
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 5c648971f..13f648f19 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -843,30 +843,22 @@ CTRL-W CTRL-F Split current window in two. Edit file name under cursor.
If the name is a hypertext link that looks like
"type://machine/path", only "/path" is used.
If a count is given, the count'th matching file is edited.
- {not available when the |+file_in_path| feature was disabled
- at compile time}
CTRL-W F *CTRL-W_F*
Split current window in two. Edit file name under cursor and
jump to the line number following the file name. See |gF| for
details on how the line number is obtained.
- {not available when the |+file_in_path| feature was disabled
- at compile time}
CTRL-W gf *CTRL-W_gf*
Open a new tab page and edit the file name under the cursor.
Like "tab split" and "gf", but the new tab page isn't created
if the file does not exist.
- {not available when the |+file_in_path| feature was disabled
- at compile time}
CTRL-W gF *CTRL-W_gF*
Open a new tab page and edit the file name under the cursor
and jump to the line number following the file name. Like
"tab split" and "gF", but the new tab page isn't created if
the file does not exist.
- {not available when the |+file_in_path| feature was disabled
- at compile time}
CTRL-W gt *CTRL-W_gt*
Go to next tab page, same as `gt`.
diff --git a/src/alloc.c b/src/alloc.c
index 7ca20c718..932d67a12 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -158,10 +158,10 @@ alloc(size_t size)
void *
alloc_id(size_t size, alloc_id_T id UNUSED)
{
-#ifdef FEAT_EVAL
+# ifdef FEAT_EVAL
if (alloc_fail_id == id && alloc_does_fail(size))
return NULL;
-#endif
+# endif
return lalloc(size, TRUE);
}
#endif
@@ -425,9 +425,7 @@ free_all_mem(void)
}
free_titles();
-# if defined(FEAT_SEARCHPATH)
free_findfile();
-# endif
// Obviously named calls.
free_all_autocmds();
diff --git a/src/buffer.c b/src/buffer.c
index ebba88b37..cec2abbb2 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -2324,9 +2324,7 @@ free_buf_options(
clear_string_option(&buf->b_s.b_p_spl);
clear_string_option(&buf->b_s.b_p_spo);
#endif
-#ifdef FEAT_SEARCHPATH
clear_string_option(&buf->b_p_sua);
-#endif
clear_string_option(&buf->b_p_ft);
clear_string_option(&buf->b_p_cink);
clear_string_option(&buf->b_p_cino);
diff --git a/src/errors.h b/src/errors.h
index edd25ce03..b903ae7d2 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -853,7 +853,6 @@ EXTERN char e_out_of_memory_allocating_nr_bytes[]
EXTERN char e_invalid_path_number_must_be_at_end_of_path_or_be_followed_by_str[]
INIT(= N_("E343: Invalid path: '**[number]' must be at the end of the path or be followed by '%s'."));
#endif
-#ifdef FEAT_SEARCHPATH
EXTERN char e_cant_find_directory_str_in_cdpath[]
INIT(= N_("E344: Can't find directory \"%s\" in cdpath"));
EXTERN char e_cant_find_file_str_in_path[]
@@ -862,7 +861,6 @@ EXTERN char e_no_more_directory_str_found_in_cdpath[]
INIT(= N_("E346: No more directory \"%s\" found in cdpath"));
EXTERN char e_no_more_file_str_found_in_path[]
INIT(= N_("E347: No more file \"%s\" found in path"));
-#endif
EXTERN char e_no_string_under_cursor[]
INIT(= N_("E348: No string under cursor"));
EXTERN char e_no_identifier_under_cursor[]
@@ -1090,12 +1088,10 @@ EXTERN char e_cannot_close_last_window[]
INIT(= N_("E444: Cannot close last window"));
EXTERN char e_other_window_contains_changes[]
INIT(= N_("E445: Other window contains changes"));
-#ifdef FEAT_SEARCHPATH
EXTERN char e_no_file_name_under_cursor[]
INIT(= N_("E446: No file name under cursor"));
EXTERN char e_cant_find_file_str_in_path_2[]
INIT(= N_("E447: Can't find file \"%s\" in path"));
-#endif
#ifdef USING_LOAD_LIBRARY
EXTERN char e_could_not_load_library_function_str[]
INIT(= N_("E448: Could not load library function %s"));
diff --git a/src/evalfunc.c b/src/evalfunc.c
index c199bdbe0..3c26453f0 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -5646,13 +5646,7 @@ f_has(typval_T *argvars, typval_T *rettv)
0
#endif
},
- {"file_in_path",
-#ifdef FEAT_SEARCHPATH
- 1
-#else
- 0
-#endif
- },
+ {"file_in_path", 1},
{"filterpipe",
#if defined(FEAT_FILTERPIPE) && !defined(VIMDLL)
1
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index b9ff423b6..89c9d26b0 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -6678,9 +6678,7 @@ ex_wrongmodifier(exarg_T *eap)
ex_splitview(exarg_T *eap)
{
win_T *old_curwin = curwin;
-#if defined(FEAT_SEARCHPATH) || defined(FEAT_BROWSE)
char_u *fname = NULL;
-#endif
#ifdef FEAT_BROWSE
char_u dot_path[] = ".";
int save_cmod_flags = cmdmod.cmod_flags;
@@ -6708,7 +6706,6 @@ ex_splitview(exarg_T *eap)
}
#endif
-#ifdef FEAT_SEARCHPATH
if (eap->cmdidx == CMD_sfind || eap->cmdidx == CMD_tabfind)
{
fname = find_file_in_path(eap->arg, (int)STRLEN(eap->arg),
@@ -6718,11 +6715,7 @@ ex_splitview(exarg_T *eap)
eap->arg = fname;
}
# ifdef FEAT_BROWSE
- else
-# endif
-#endif
-#ifdef FEAT_BROWSE
- if ((cmdmod.cmod_flags & CMOD_BROWSE)
+ else if ((cmdmod.cmod_flags & CMOD_BROWSE)
&& eap->cmdidx != CMD_vnew
&& eap->cmdidx != CMD_new)
{
@@ -6786,10 +6779,8 @@ ex_splitview(exarg_T *eap)
cmdmod.cmod_flags = save_cmod_flags;
# endif
-# if defined(FEAT_SEARCHPATH) || defined(FEAT_BROWSE)
theend:
vim_free(fname);
-# endif
}
/*
@@ -6980,7 +6971,6 @@ ex_resize(exarg_T *eap)
static void
ex_find(exarg_T *eap)
{
-#ifdef FEAT_SEARCHPATH
char_u *fname;
int count;
@@ -7002,12 +6992,9 @@ ex_find(exarg_T *eap)
if (fname != NULL)
{
eap->arg = fname;
-#endif
do_exedit(eap, NULL);
-#ifdef FEAT_SEARCHPATH
vim_free(fname);
}
-#endif
}
/*
@@ -9273,7 +9260,6 @@ eval_vars(
}
break;
-#ifdef FEAT_SEARCHPATH
case SPEC_CFILE: // file name under cursor
result = file_name_at_cursor(FNAME_MESS|FNAME_HYP, 1L, NULL);
if (result == NULL)
@@ -9283,7 +9269,6 @@ eval_vars(
}
resultbuf = result; // remember allocated string
break;
-#endif
case SPEC_AFILE: // file name for autocommand
result = autocmd_fname;
diff --git a/src/feature.h b/src/feature.h
index d594171ad..9c094e5aa 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -97,6 +97,7 @@
* These features used to be optional but are now always enabled:
* +windows Multiple windows. Without this there is no help
* window and no status lines.
+ * +autocmd Automatic commands
* +vertsplit Vertically split windows.
* +cmdhist Command line history.
* +localmap Mappings and abbreviations local to a buffer.
@@ -115,6 +116,7 @@
* +cindent C code indenting (From Eric Fischer).
* +smartindent smart C code indenting when the 'si' option is set.
* +textobjects Text objects: "vaw", "das", etc.
+ * +file_in_path "gf" and "<cfile>" commands.
*
* Obsolete:
* +tag_old_static Old style static tags: "file:tag file ..".
@@ -202,19 +204,10 @@
#endif
/*
- * +file_in_path "gf" and "<cfile>" commands.
- */
-#ifdef FEAT_NORMAL
-# define FEAT_SEARCHPATH
-#endif
-
-/*
* +find_in_path "[I" ":isearch" "^W^I", ":checkpath", etc.
*/
#ifdef FEAT_NORMAL
-# ifdef FEAT_SEARCHPATH // FEAT_SEARCHPATH is required
-# define FEAT_FIND_ID
-# endif
+# define FEAT_FIND_ID
#endif
/*
@@ -324,7 +317,6 @@
/*
* +diff Displaying diffs in a nice way.
- * Requires +windows and +autocmd.
* Can be enabled in autoconf already.
*/
#if defined(FEAT_NORMAL) && !defined(FEAT_DIFF)
@@ -380,14 +372,14 @@
/*
* +syntax syntax highlighting. When using this, it's a good
- * idea to have +autocmd and +eval too.
+ * idea to have +eval too.
*/
#if defined(FEAT_NORMAL) || defined(PROTO)
# define FEAT_SYN_HL
#endif
/*
- * +conceal 'conceal' option. Needs syntax highlighting
+ * +conceal 'conceal' option. Depends on syntax highlighting
* as this is how the concealed text is defined.
*/
#if defined(FEAT_BIG) && defined(FEAT_SYN_HL)
diff --git a/src/filepath.c b/src/filepath.c
index ecee8db8b..f61603fa6 100644
--- a/src/filepath.c
+++ b/src/filepath.c
@@ -942,7 +942,6 @@ findfilendir(
typval_T *rettv,
int find_what UNUSED)
{
-#ifdef FEAT_SEARCHPATH
char_u *fname;
char_u *fresult = NULL;
char_u *path = *curbuf->b_p_path == NUL ? p_path : curbuf->b_p_path;
@@ -951,7 +950,6 @@ findfilendir(
int count = 1;
int first = TRUE;
int error = FALSE;
-#endif
rettv->vval.v_string = NULL;
rettv->v_type = VAR_STRING;
@@ -962,7 +960,6 @@ findfilendir(
&& check_for_opt_number_arg(argvars, 2) == FAIL)))
return;
-#ifdef FEAT_SEARCHPATH
fname = tv_get_string(&argvars[0]);
if (argvars[1].v_type != VAR_UNKNOWN)
@@ -1006,7 +1003,6 @@ findfilendir(
if (rettv->v_type == VAR_STRING)
rettv->vval.v_string = fresult;
-#endif
}
/*
@@ -3879,9 +3875,7 @@ gen_expand_wildcards(
static int recursive = FALSE;
int add_pat;
int retval = OK;
-#if defined(FEAT_SEARCHPATH)
int did_expand_in_path = FALSE;
-#endif
/*
* expand_env() is called to expand things like "~user". If this fails,
@@ -3971,7 +3965,6 @@ gen_expand_wildcards(
*/
if (mch_has_exp_wildcard(p) || (flags & EW_ICASE))
{
-#if defined(FEAT_SEARCHPATH)
if ((flags & EW_PATH)
&& !mch_isFullName(p)
&& !(p[0] == '.'
@@ -3987,7 +3980,6 @@ gen_expand_wildcards(
did_expand_in_path = TRUE;
}
else
-#endif
add_pat = mch_expandpath(&ga, p, flags);
}
}
@@ -4007,10 +3999,8 @@ gen_expand_wildcards(
vim_free(t);
}
-#if defined(FEAT_SEARCHPATH)
if (did_expand_in_path && ga.ga_len > 0 && (flags & EW_PATH))
uniquefy_paths(&ga, p);
-#endif
if (p != pat[i])
vim_free(p);
}
diff --git a/src/findfile.c b/src/findfile.c
index 881eef156..8267be6e0 100644
--- a/src/findfile.c
+++ b/src/findfile.c
@@ -709,14 +709,10 @@ vim_findfile(void *search_ctx_arg)
char_u *path_end = NULL;
#endif
ff_stack_T *stackp;
-#if defined(FEAT_SEARCHPATH) || defined(FEAT_PATH_EXTRA)
int len;
-#endif
int i;
char_u *p;
-#ifdef FEAT_SEARCHPATH
char_u *suf;
-#endif
ff_search_ctx_T *search_ctx;
if (search_ctx_arg == NULL)
@@ -995,14 +991,12 @@ vim_findfile(void *search_ctx_arg)
* Try without extra suffix and then with suffixes
* from 'suffixesadd'.
*/
-#ifdef FEAT_SEARCHPATH
len = (int)STRLEN(file_path);
if (search_ctx->ffsc_tagfile)
suf = (char_u *)"";
else
suf = curbuf->b_p_sua;
for (;;)
-#endif
{
// if file exists and we didn't already find it
if ((path_with_url(file_path)
@@ -1072,13 +1066,11 @@ vim_findfile(void *search_ctx_arg)
return file_path;
}
-#ifdef FEAT_SEARCHPATH
// Not found or found already, try next suffix.
if (*suf == NUL)
break;
copy_option_part(&suf, file_path + len,
MAXPATHL - len, ",");
-#endif
}
}
}
@@ -1633,7 +1625,6 @@ ff_path_in_stoplist(char_u *path, int path_len, char_u **stopdirs_v)
}
#endif
-#if defined(FEAT_SEARCHPATH) || defined(PROTO)
/*
* Find the file name "ptr[len]" in the path. Also finds directory names.
*
@@ -2636,7 +2627,6 @@ expand_in_path(
return gap->ga_len;
}
-#endif // FEAT_SEARCHPATH
/*
* Converts a file name into a canonical form. It simplifies a file name into
diff --git a/src/misc2.c b/src/misc2.c
index 38dcb48d1..84adafab6 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -2399,15 +2399,12 @@ update_mouseshape(int shape_idx)
/*
- * Change directory to "new_dir". If FEAT_SEARCHPATH is defined, search
- * 'cdpath' for relative directory names, otherwise just mch_chdir().
+ * Change directory to "new_dir". Search 'cdpath' for relative directory
+ * names, otherwise just mch_chdir().
*/
int
vim_chdir(char_u *new_dir)
{
-#ifndef FEAT_SEARCHPATH
- return mch_chdir((char *)new_dir);
-#else
char_u *dir_name;
int r;
@@ -2418,7 +2415,6 @@ vim_chdir(char_u *new_dir)
r = mch_chdir((char *)dir_name);
vim_free(dir_name);
return r;
-#endif
}
/*
diff --git a/src/normal.c b/src/normal.c
index 0ce0d4e32..6fcdaeb78 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -4049,7 +4049,6 @@ nv_down(cmdarg_T *cap)
}
}
-#ifdef FEAT_SEARCHPATH
/*
* Grab the file name under the cursor and edit it.
*/
@@ -4092,7 +4091,6 @@ nv_gotofile(cmdarg_T *cap)
else
clearop(cap->oap);
}
-#endif
/*
* <End> command: to end of current line or last line.
@@ -4439,12 +4437,10 @@ nv_brackets(cmdarg_T *cap)
old_pos = curwin->w_cursor;
curwin->w_cursor.coladd = 0; // TODO: don't do this for an error.
-#ifdef FEAT_SEARCHPATH
// "[f" or "]f" : Edit file under the cursor (same as "gf")
if (cap->nchar == 'f')
nv_gotofile(cap);
else
-#endif
#ifdef FEAT_FIND_ID
// Find the occurrence(s) of the identifier or define under cursor
@@ -6079,14 +6075,12 @@ nv_g_cmd(cmdarg_T *cap)
invoke_edit(cap, FALSE, 'g', FALSE);
break;
-#ifdef FEAT_SEARCHPATH
// "gf": goto file, edit file under cursor
// "]f" and "[f": can also be used.
case 'f':
case 'F':
nv_gotofile(cap);
break;
-#endif
// "g'm" and "g`m": jump to mark without setting pcmark
case '\'':
diff --git a/src/option.c b/src/option.c
index f3c53b228..05e0527cd 100644
--- a/src/option.c
+++ b/src/option.c
@@ -220,7 +220,6 @@ set_init_1(int clean_arg)
}
}
-#ifdef FEAT_SEARCHPATH
{
char_u *cdpath;
char_u *buf;
@@ -262,7 +261,6 @@ set_init_1(int clean_arg)
vim_free(cdpath);
}
}
-#endif
#if defined(FEAT_POSTSCRIPT) && \
(defined(MSWIN) || defined(VMS) || defined(MAC) || defined(hpux))
@@ -5519,9 +5517,7 @@ get_varp(struct vimoption *p)
case PV_SI: return (char_u *)&(curbuf->b_p_si);
case PV_SN: return (char_u *)&(curbuf->b_p_sn);
case PV_STS: return (char_u *)&(curbuf->b_p_sts);
-#ifdef FEAT_SEARCHPATH
case PV_SUA: return (char_u *)&(curbuf->b_p_sua);
-#endif
case PV_SWF: return (char_u *)&(curbuf->b_p_swf);
#ifdef FEAT_SYN_HL
case PV_SMC: return (char_u *)&(curbuf->b_p_smc);
@@ -6080,10 +6076,8 @@ buf_copy_options(buf_T *buf, int flags)
buf->b_p_key = vim_strsave(p_key);
COPY_OPT_SCTX(buf, BV_KEY);
#endif
-#ifdef FEAT_SEARCHPATH
buf->b_p_sua = vim_strsave(p_sua);
COPY_OPT_SCTX(buf, BV_SUA);
-#endif
#ifdef FEAT_KEYMAP
buf->b_p_keymap = vim_strsave(p_keymap);
COPY_OPT_SCTX(buf, BV_KMAP);
@@ -6380,20 +6374,14 @@ set_context_in_set_cmd(
|| p == (char_u *)&p_path
|| p == (char_u *)&p_pp
|| p == (char_u *)&p_rtp
-#ifdef FEAT_SEARCHPATH
|| p == (char_u *)&p_cdpath
-#endif
#ifdef FEAT_SESSION
|| p == (char_u *)&p_vdir
#endif
)
{
xp->xp_context = EXPAND_DIRECTORIES;
- if (p == (char_u *)&p_path
-#ifdef FEAT_SEARCHPATH
- || p == (char_u *)&p_cdpath
-#endif
- )
+ if (p == (char_u *)&p_path || p == (char_u *)&p_cdpath)
xp->xp_backslash = XP_BS_THREE;
else
xp->xp_backslash = XP_BS_ONE;
diff --git a/src/option.h b/src/option.h
index 4d9f7e232..d40dcb5ea 100644
--- a/src/option.h
+++ b/src/option.h
@@ -780,9 +780,7 @@ EXTERN char_u *p_pex; // 'patchexpr'
#endif
EXTERN char_u *p_pm; // 'patchmode'
EXTERN char_u *p_path; // 'path'
-#ifdef FEAT_SEARCHPATH
EXTERN char_u *p_cdpath; // 'cdpath'
-#endif
#if defined(DYNAMIC_PERL)
EXTERN char_u *p_perldll; // 'perldll'
#endif
@@ -908,9 +906,7 @@ EXTERN int p_si; // 'smartindent'
EXTERN int p_sta; // 'smarttab'
EXTERN long p_sts; // 'softtabstop'
EXTERN int p_sb; // 'splitbelow'
-#if defined(FEAT_SEARCHPATH)
EXTERN char_u *p_sua; // 'suffixesadd'
-#endif
EXTERN int p_swf; // 'swapfile'
#ifdef FEAT_SYN_HL
EXTERN long p_smc; // 'synmaxcol'
@@ -1196,9 +1192,7 @@ enum
, BV_SPO
#endif
, BV_STS
-#ifdef FEAT_SEARCHPATH
, BV_SUA
-#endif
, BV_SW
, BV_SWF
#ifdef FEAT_EVAL
diff --git a/src/optiondefs.h b/src/optiondefs.h
index be9a86e44..de63ceb4a 100644
--- a/src/optiondefs.h
+++ b/src/optiondefs.h
@@ -123,9 +123,7 @@
# define PV_SPO OPT_BUF(BV_SPO)
#endif
#define PV_STS OPT_BUF(BV_STS)
-#ifdef FEAT_SEARCHPATH
-# define PV_SUA OPT_BUF(BV_SUA)
-#endif
+#define PV_SUA OPT_BUF(BV_SUA)
#define PV_SW OPT_BUF(BV_SW)
#define PV_SWF OPT_BUF(BV_SWF)
#ifdef FEAT_EVAL
@@ -546,13 +544,8 @@ static struct vimoption options[] =
{(char_u *)FALSE, (char_u *)0L}
SCTX_INIT},
{"cdpath", "cd", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE|P_COMMA|P_NODUP,
-#ifdef FEAT_SEARCHPATH
(char_u *)&p_cdpath, PV_NONE,
{(char_u *)",,", (char_u *)0L}
-#else
- (char_u *)NULL, PV_NONE,
- {(char_u *)0L, (char_u *)0L}
-#endif
SCTX_INIT},
{"cedit", NULL, P_STRING,
#ifdef FEAT_CMDWIN
@@ -2380,13 +2373,8 @@ static struct vimoption options[] =
{(char_u *)".bak,~,.o,.h,.info,.swp,.obj",
(char_u *)0L} SCTX_INIT},
{"suffixesadd", "sua", P_STRING|P_VI_DEF|P_ALLOCED|P_ONECOMMA|P_NODUP,
-#ifdef FEAT_SEARCHPATH
(char_u *)&p_sua, PV_SUA,
{(char_u *)"", (char_u *)0L}
-#else
- (char_u *)NULL, PV_NONE,
- {(char_u *)0L, (char_u *)0L}
-#endif
SCTX_INIT},
{"swapfile", "swf", P_BOOL|P_VI_DEF|P_RSTAT,
(char_u *)&p_swf, PV_SWF,
diff --git a/src/optionstr.c b/src/optionstr.c
index 4fbfcc9b1..13302efbd 100644
--- a/src/optionstr.c
+++ b/src/optionstr.c
@@ -253,9 +253,7 @@ check_buf_options(buf_T *buf)
check_string_option(&buf->b_s.b_p_spl);
check_string_option(&buf->b_s.b_p_spo);
#endif
-#ifdef FEAT_SEARCHPATH
check_string_option(&buf->b_p_sua);
-#endif
check_string_option(&buf->b_p_cink);
check_string_option(&buf->b_p_cino);
check_string_option(&buf->b_p_cinsd);
diff --git a/src/register.c b/src/register.c
index 22b79abb8..6a9cb1e02 100644
--- a/src/register.c
+++ b/src/register.c
@@ -914,7 +914,6 @@ get_spec_reg(
emsg(_(e_no_inserted_text_yet));
return TRUE;
-#ifdef FEAT_SEARCHPATH
case Ctrl_F: // Filename under cursor
case Ctrl_P: // Path under cursor, expand via "path"
if (!errmsg)
@@ -923,7 +922,6 @@ get_spec_reg(
| (regname == Ctrl_P ? FNAME_EXP : 0), 1L, NULL);
*allocated = TRUE;
return TRUE;
-#endif
case Ctrl_W: // word under cursor
case Ctrl_A: // WORD (mnemonic All) under cursor
@@ -2586,10 +2584,8 @@ get_reg_type(int regname, long *reglen)
case ':': // last command line
case '/': // last search-pattern
case '.': // last inserted text
-# ifdef FEAT_SEARCHPATH
case Ctrl_F: // Filename under cursor
case Ctrl_P: // Path under cursor, expand via "path"
-# endif
case Ctrl_W: // word under cursor
case Ctrl_A: // WORD (mnemonic All) under cursor
case '_': // black hole: always empty
diff --git a/src/structs.h b/src/structs.h
index a507a37c5..28cfa00ff 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -2973,9 +2973,7 @@ struct file_buffer
int b_p_si; // 'smartindent'
long b_p_sts; // 'softtabstop'
long b_p_sts_nopaste; // b_p_sts saved for paste mode
-#ifdef FEAT_SEARCHPATH
char_u *b_p_sua; // 'suffixesadd'
-#endif
int b_p_swf; // 'swapfile'
#ifdef FEAT_SYN_HL
long b_p_smc; // 'synmaxcol'
diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim
index e30321279..56629d91b 100644
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -949,7 +949,6 @@ endfunc
" Test for the default CDPATH option
func Test_opt_default_cdpath()
- CheckFeature file_in_path
let after =<< trim [CODE]
call assert_equal(',/path/to/dir1,/path/to/dir2', &cdpath)
call writefile(v:errors, 'Xtestout')
diff --git a/src/version.c b/src/version.c
index c17f7f866..ac14bbd85 100644
--- a/src/version.c
+++ b/src/version.c
@@ -246,11 +246,7 @@ static char *(features[]) =
"-extra_search",
#endif
"-farsi",
-#ifdef FEAT_SEARCHPATH
"+file_in_path",
-#else
- "-file_in_path",
-#endif
#ifdef FEAT_FIND_ID
"+find_in_path",
#else
@@ -732,6 +728,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 265,
+/**/
264,
/**/
263,
diff --git a/src/window.c b/src/window.c
index 3ee65fbf4..8c42b6064 100644
--- a/src/window.c
+++ b/src/window.c
@@ -136,10 +136,8 @@ do_window(
{
long Prenum1;
win_T *wp;
-#if defined(FEAT_SEARCHPATH) || defined(FEAT_FIND_ID)
char_u *ptr;
linenr_T lnum = -1;
-#endif
#ifdef FEAT_FIND_ID
int type = FIND_DEFINE;
int len;
@@ -521,7 +519,6 @@ newwindow:
do_nv_ident(Ctrl_RSB, NUL);
break;
-#ifdef FEAT_SEARCHPATH
// edit file name under cursor in a new window
case 'f':
case 'F':
@@ -534,9 +531,9 @@ wingotofile:
{
tabpage_T *oldtab = curtab;
win_T *oldwin = curwin;
-# ifdef FEAT_GUI
+#ifdef FEAT_GUI
need_mouse_correct = TRUE;
-# endif
+#endif
setpcmark();
if (win_split(0, 0) == OK)
{
@@ -559,7 +556,6 @@ wingotofile:
vim_free(ptr);
}
break;
-#endif
#ifdef FEAT_FIND_ID
// Go to the first occurrence of the identifier under cursor along path in a
@@ -637,13 +633,12 @@ wingotofile:
do_nv_ident('g', xchar);
break;
-#ifdef FEAT_SEARCHPATH
case 'f': // CTRL-W gf: "gf" in a new tab page
case 'F': // CTRL-W gF: "gF" in a new tab page
cmdmod.cmod_tab = tabpage_index(curtab) + 1;
nchar = xchar;
goto wingotofile;
-#endif
+
case 't': // CTRL-W gt: go to next tab page
goto_tabpage((int)Prenum);
break;
@@ -713,11 +708,9 @@ get_wincmd_addr_type(char_u *arg, exarg_T *eap)
#if defined(FEAT_QUICKFIX)
case '}':
#endif
-#ifdef FEAT_SEARCHPATH
case 'f':
case 'F':
case Ctrl_F:
-#endif
#ifdef FEAT_FIND_ID
case 'i':
case Ctrl_I: