aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--builtin_set.cpp4
-rw-r--r--complete.cpp4
-rw-r--r--env.cpp2
-rw-r--r--highlight.cpp10
-rw-r--r--parser.cpp27
-rw-r--r--path.cpp14
-rw-r--r--path.h1
7 files changed, 12 insertions, 50 deletions
diff --git a/builtin_set.cpp b/builtin_set.cpp
index 19297eaf..4ac6e92e 100644
--- a/builtin_set.cpp
+++ b/builtin_set.cpp
@@ -48,8 +48,8 @@ Functions used for implementing the set builtin.
static int is_path_variable( const wchar_t *env )
{
return contains( env,
- L"PATH",
- L"CDPATH" );
+ L"PATH"
+ );
}
/**
diff --git a/complete.cpp b/complete.cpp
index c0c3095d..9aca350f 100644
--- a/complete.cpp
+++ b/complete.cpp
@@ -1035,9 +1035,7 @@ static void complete_cmd( const wchar_t *cmd,
std::vector<completion_t> possible_comp;
wchar_t *nxt_completion;
- const env_var_t cdpath = env_get_string(L"CDPATH");
-// wchar_t *cdpath_cpy = wcsdup( cdpath?cdpath:L"." );
- wchar_t *cdpath_cpy = wcsdup( !cdpath.missing()?cdpath.c_str():L"." );
+ wchar_t *cdpath_cpy = wcsdup(L".");
if( (wcschr( cmd, L'/') != 0) || (cmd[0] == L'~' ) )
{
diff --git a/env.cpp b/env.cpp
index a3e8d4f4..23e971c7 100644
--- a/env.cpp
+++ b/env.cpp
@@ -1715,4 +1715,4 @@ const wchar_t *env_vars::get(const wchar_t *key) const
return (iter == vars.end() ? NULL : iter->second.c_str());
}
-const wchar_t * const env_vars::highlighting_keys[] = {L"PATH", L"CDPATH", L"HIGHLIGHT_DELAY", L"fish_function_path", NULL};
+const wchar_t * const env_vars::highlighting_keys[] = {L"PATH", L"HIGHLIGHT_DELAY", L"fish_function_path", NULL};
diff --git a/highlight.cpp b/highlight.cpp
index 89bbb0ec..421ba96c 100644
--- a/highlight.cpp
+++ b/highlight.cpp
@@ -722,16 +722,6 @@ static void tokenize( const wchar_t * const buff, int * const color, const int p
is_cmd |= !!path_get_path_string( cmd, tmp, vars );
}
- /*
- Could not find the command. Maybe it is
- a path for a implicit cd command.
- */
- if( use_builtin || (use_function && function_exists( L"cd") ) )
- {
- wcstring tmp;
- is_cmd |= !!path_get_cdpath_string( cmd, tmp, vars );
- }
-
if( is_cmd )
{
color[ tok_get_pos( &tok ) ] = HIGHLIGHT_COMMAND;
diff --git a/parser.cpp b/parser.cpp
index 3db44d47..fdffcffb 100644
--- a/parser.cpp
+++ b/parser.cpp
@@ -1930,31 +1930,7 @@ int parser_t::parse_job( process_t *p,
if( p->actual_cmd == NULL )
{
- /*
- That is not a command! Test if it is a
- directory, in which case, we use 'cd' as the
- implicit command.
- */
- if(path_can_get_cdpath(args.at(0).completion))
- {
- wcstring tmp = args.at(0).completion;
-// al_truncate( args, 0 );
- args.clear();
-// al_push( args, halloc_wcsdup( j, L"cd" ) );
- args.push_back(completion_t(L"cd"));
- args.push_back(completion_t(tmp));
- /*
- If we have defined a wrapper around cd, use it,
- otherwise use the cd builtin
- */
- if( use_function && function_exists( L"cd" ) )
- p->type = INTERNAL_FUNCTION;
- else
- p->type = INTERNAL_BUILTIN;
- }
- else
- {
- int tmp;
+ int tmp;
const wchar_t *cmd = args.at( 0 ).completion.c_str();
/*
@@ -2038,7 +2014,6 @@ int parser_t::parse_job( process_t *p,
job_set_flag( j, JOB_SKIP, 1 );
event_fire_generic(L"fish_command_not_found", (wchar_t *)( args.at( 0 ).completion.c_str() ) );
proc_set_last_status( err==ENOENT?STATUS_UNKNOWN_COMMAND:STATUS_NOT_EXECUTABLE );
- }
}
}
}
diff --git a/path.cpp b/path.cpp
index 930f8563..7b56388a 100644
--- a/path.cpp
+++ b/path.cpp
@@ -291,11 +291,8 @@ bool path_get_cdpath_string(const wcstring &dir_str, wcstring &result, const env
}
else
{
- const wchar_t *path = vars.get(L"CDPATH");
- if( !path || !wcslen(path) )
- {
- path = L".";
- }
+
+ const wchar_t *path = L".";
wcstokenizer tokenizer(path, ARRAY_SEP_STR);
wcstring next_path;
@@ -340,6 +337,7 @@ bool path_get_cdpath_string(const wcstring &dir_str, wcstring &result, const env
return res;
}
+
wchar_t *path_allocate_cdpath( const wchar_t *dir )
{
wchar_t *res = 0;
@@ -371,9 +369,7 @@ wchar_t *path_allocate_cdpath( const wchar_t *dir )
wchar_t *state;
wchar_t *whole_path;
- env_var_t path = env_get_string(L"CDPATH");
- if( path.missing_or_empty() )
- path = L".";
+ env_var_t path = L".";
nxt_path = path.c_str();
path_cpy = wcsdup( path.c_str() );
@@ -439,6 +435,7 @@ wchar_t *path_allocate_cdpath( const wchar_t *dir )
return res;
}
+
bool path_can_get_cdpath(const wcstring &in) {
wchar_t *tmp = path_allocate_cdpath(in.c_str());
bool result = (tmp != NULL);
@@ -486,6 +483,7 @@ wchar_t *path_get_config( void *context)
}
}
+
bool path_get_config(wcstring &path)
{
int done = 0;
diff --git a/path.h b/path.h
index d4169e11..39918382 100644
--- a/path.h
+++ b/path.h
@@ -53,6 +53,7 @@ bool path_get_path_string(const wcstring &cmd, wcstring &output, const env_vars
\param in The name of the directory.
\return 0 if the command can not be found, the path of the command otherwise. The path should be free'd with free().
*/
+
wchar_t *path_allocate_cdpath( const wchar_t *in );
bool path_can_get_cdpath(const wcstring &in);
bool path_get_cdpath_string(const wcstring &in, wcstring &out, const env_vars &vars);