Large set of changes to how PATH is handled. Changed fish to no longer modify PATH in share/config.fish. Introduced variable fish_user_paths, and a glue function __fish_reconstruct_path that splices together PATH with fish_user_paths. Changed fish to no longer validate changes to PATH unless the paths are new (i.e. don't recheck what's already there). Modified certain sets to store const wchar_t instead of wcstring to save a few allocations.

https://github.com/fish-shell/fish-shell/issues/527
This commit is contained in:
ridiculousfish
2013-02-19 17:48:51 -08:00
parent 2f43584727
commit aaa0c25ff7
9 changed files with 125 additions and 129 deletions

View File

@@ -3101,18 +3101,18 @@ const wchar_t *reader_readline()
const wchar_t *buff = data->command_line.c_str();
const wchar_t *end = &buff[data->buff_pos];
const wchar_t *begin = end;
/* Make sure we delete at least one character (see #580) */
begin--;
/* Delete until we hit a newline, or the beginning of the string */
while (begin > buff && *begin != L'\n')
begin--;
/* If we landed on a newline, don't delete it */
if (*begin == L'\n')
begin++;
assert(end >= begin);
size_t len = maxi<size_t>(end-begin, 1);
begin = end - len;