From 307a4ae9e854a8697dbde6861839d1c7a0615ef6 Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Wed, 11 Sep 2013 18:50:14 -0700 Subject: [PATCH] Don't do completions or autosuggestions for commands with wildcards. Fixes https://github.com/fish-shell/fish-shell/issues/785 --- expand.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/expand.cpp b/expand.cpp index 9dfe50266..4408a3e4b 100644 --- a/expand.cpp +++ b/expand.cpp @@ -1729,9 +1729,15 @@ int expand_string(const wcstring &input, std::vector &output, expa remove_internal_separator(next_str, (EXPAND_SKIP_WILDCARDS & flags) ? true : false); const wchar_t *next = next_str.c_str(); - - if (((flags & ACCEPT_INCOMPLETE) && (!(flags & EXPAND_SKIP_WILDCARDS))) || - wildcard_has(next, 1)) + + const bool has_wildcard = wildcard_has(next, 1); + + if (has_wildcard && (flags & EXECUTABLES_ONLY)) + { + // Don't do wildcard expansion for executables. See #785. So do nothing here. + } + else if (((flags & ACCEPT_INCOMPLETE) && (!(flags & EXPAND_SKIP_WILDCARDS))) || + has_wildcard) { const wchar_t *start, *rest;