fish-shell/src
ridiculousfish e43913a547 Stop expanding globs in command position when performing error checking
Before running a command, or before importing a command from bash history,
we perform error checking. As part of error checking we expand commands
including variables and globs. If the glob is very large, like `/**`, then
we could hang expanding it.

One fix would be to limit the amount of expansion from the glob, but
instead let's just not expand command globs when performing error checking.

Fixes #7407
2020-12-22 12:38:51 -08:00
..
widecharwidth Incorporate widecharwidth changes for narrow emoji 2020-08-04 12:40:46 -07:00
ast.cpp ast: Remove unused variable 2020-11-15 11:19:23 +01:00
ast.h Reformat 2020-11-22 14:39:48 +01:00
ast_node_types.inc Introduce a new fish ast 2020-07-04 14:58:02 -07:00
autoload.cpp Don't eagerly fetch the current time in autoloading 2020-08-08 15:30:04 -07:00
autoload.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin.cpp Reformat 2020-11-22 14:39:48 +01:00
builtin.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_argparse.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_argparse.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_bg.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_bg.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_bind.cpp Declare functions in headers or use internal linkage (static) 2020-09-08 22:44:03 +02:00
builtin_bind.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_block.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_block.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_builtin.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_builtin.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_cd.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_cd.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_command.cpp Reformat 2020-11-22 14:39:48 +01:00
builtin_command.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_commandline.cpp Always become pgroup leader in interactive mode 2020-12-06 13:42:35 -08:00
builtin_commandline.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_complete.cpp run codebase through clang-tidy 2020-10-25 22:48:49 -07:00
builtin_complete.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_contains.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_contains.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_disown.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_disown.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_echo.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_echo.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_emit.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_emit.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_eval.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_eval.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_exit.cpp Rework exit command 2020-08-15 16:06:54 -07:00
builtin_exit.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_fg.cpp Reformat 2020-11-22 14:39:48 +01:00
builtin_fg.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_function.cpp Reformat 2020-11-22 14:39:48 +01:00
builtin_function.h Reformat 2020-11-22 14:39:48 +01:00
builtin_functions.cpp Print nicer "defined in" for functions defined on stdin/via source 2020-12-11 23:09:16 +01:00
builtin_functions.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_history.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_history.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_jobs.cpp Reformat 2020-11-22 14:39:48 +01:00
builtin_jobs.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_math.cpp math: Wcharify the error message 2020-12-14 23:02:54 +01:00
builtin_math.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_printf.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_printf.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_pwd.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_pwd.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_random.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_random.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_read.cpp Reformat 2020-11-22 14:39:48 +01:00
builtin_read.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_realpath.cpp Reformat 2020-11-22 14:39:48 +01:00
builtin_realpath.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_return.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_return.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_set.cpp Stop using env_var_t::to_list in a few places 2020-12-15 15:47:44 +01:00
builtin_set.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_set_color.cpp Reformat 2020-11-22 14:39:48 +01:00
builtin_set_color.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_source.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_source.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_status.cpp Always become pgroup leader in interactive mode 2020-12-06 13:42:35 -08:00
builtin_status.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_string.cpp Restyle codebase 2020-12-06 15:39:54 +01:00
builtin_string.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_test.cpp builtin_test: Exit early on float parsing error 2020-11-15 15:15:20 +01:00
builtin_test.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_type.cpp Print nicer "defined in" for functions defined on stdin/via source 2020-12-11 23:09:16 +01:00
builtin_type.h Make type a builtin 2020-09-21 20:58:34 +02:00
builtin_ulimit.cpp Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_ulimit.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_wait.cpp Relax some main thread requirements around waiting for jobs 2020-09-13 17:54:52 -07:00
builtin_wait.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
color.cpp Another formatting run 2020-06-24 20:43:56 +02:00
color.h [clang-tidy] Fix inconsistent declarations 2019-11-25 14:13:33 -08:00
common.cpp Don't use KERN_PROC_PATHNAME on NetBSD 2020-12-05 14:43:08 +01:00
common.h Introduce completion_receiver_t 2020-12-05 11:46:01 -08:00
complete.cpp Allow specifying a limit on number of expansion in operation_context 2020-12-22 12:38:51 -08:00
complete.h Allow specifying a limit on number of expansion in operation_context 2020-12-22 12:38:51 -08:00
enum_set.h [cppcheck] add some std::move 2020-03-14 15:07:54 -07:00
env.cpp Prevent fish from re-importing an exported fish_user_paths 2020-10-25 21:45:45 -05:00
env.h Convert var_table_t to an unordered_map 2020-06-25 00:56:49 -05:00
env_dispatch.cpp Stop repainting in C++ 2020-12-11 18:43:04 +01:00
env_dispatch.h Declare functions in headers or use internal linkage (static) 2020-09-08 22:44:03 +02:00
env_universal_common.cpp Disable SIGIO notifier on WSL 2020-11-06 20:49:44 -06:00
env_universal_common.h Moderize universal variable notifiers 2020-10-01 13:27:13 -07:00
event.cpp Add event flog 2020-10-06 17:25:45 +02:00
event.h [cppcheck] add some std::move 2020-03-14 15:07:54 -07:00
exec.cpp Tighten up pipeline-aborting errors 2020-12-13 17:30:26 -08:00
exec.h Correct a misspeeling 2020-08-06 11:51:08 -07:00
expand.cpp Stop expanding globs in command position when performing error checking 2020-12-22 12:38:51 -08:00
expand.h Stop expanding globs in command position when performing error checking 2020-12-22 12:38:51 -08:00
fallback.cpp Declare functions in headers or use internal linkage (static) 2020-09-08 22:44:03 +02:00
fallback.h Remove lrand48 checks and support 2020-07-08 11:00:12 -07:00
fd_monitor.cpp [cppcheck] add const in several places 2020-03-14 15:07:54 -07:00
fd_monitor.h Include sys/select.h for fd_set 2020-02-12 22:02:32 +01:00
fish.cpp Always become pgroup leader in interactive mode 2020-12-06 13:42:35 -08:00
fish_indent.cpp fish_indent: Change --debug-level to --debug with flog categories 2020-12-14 19:36:18 +01:00
fish_key_reader.cpp Always become pgroup leader in interactive mode 2020-12-06 13:42:35 -08:00
fish_test_helper.cpp Restyle codebase 2020-12-06 15:39:54 +01:00
fish_tests.cpp Stop expanding globs in command position when performing error checking 2020-12-22 12:38:51 -08:00
fish_version.cpp Reformat all files 2019-05-05 12:09:25 +02:00
fish_version.h Revert "Generate FISH_BUILD_VERSION info for cmake builds" 2018-01-08 22:28:10 -08:00
flog.cpp Stop #include-ing wcstringutil.h in flog.h 2020-07-29 17:04:18 -07:00
flog.h Reformat 2020-11-22 14:39:48 +01:00
function.cpp Stop using env_var_t::to_list in a few places 2020-12-15 15:47:44 +01:00
function.h Move functions_def to function.cpp 2020-09-21 17:44:58 +02:00
future_feature_flags.cpp Make the global feature set an instance variable 2020-09-12 17:35:21 -07:00
future_feature_flags.h Fix the tests 2020-09-12 19:06:28 -07:00
global_safety.h Reformat 2020-11-22 14:39:48 +01:00
highlight.cpp Reorganize and improve commenting of autosuggest_validate_from_history 2020-11-29 12:35:18 -08:00
highlight.h Reorganize and improve commenting of autosuggest_validate_from_history 2020-11-29 12:35:18 -08:00
history.cpp Reformat 2020-11-22 14:39:48 +01:00
history.h Avoid forming owning_lock of incomplete type in history 2020-05-22 13:36:46 -07:00
history_file.cpp [clang-tidy] change several member functions to const 2020-04-05 10:13:13 +02:00
history_file.h [clang-tidy] change several member functions to const 2020-04-05 10:13:13 +02:00
input.cpp Rename insert_line_above to insert_line_over 2020-12-19 14:31:33 -08:00
input.h Refactor how inputter handles script commands 2020-11-23 19:36:39 -08:00
input_common.cpp Don't call a variable "stdin" 2020-10-31 18:15:19 +01:00
input_common.h Rename insert_line_above to insert_line_over 2020-12-19 14:31:33 -08:00
intern.cpp Declare functions in headers or use internal linkage (static) 2020-09-08 22:44:03 +02:00
intern.h restyle intern module to match project style 2016-05-01 20:28:46 -07:00
io.cpp Ensure we don't leak half of a pipe 2020-09-05 13:24:26 -07:00
io.h Mark subclasses of io_data_t as final 2020-12-19 20:06:36 -08:00
iothread.cpp Allow timing-out I/O-able syntax highlighting after expanding abbreviation 2020-11-05 20:07:05 -08:00
iothread.h Allow timing-out I/O-able syntax highlighting after expanding abbreviation 2020-11-05 20:07:05 -08:00
job_group.cpp Implement cancel groups 2020-09-03 11:01:27 -07:00
job_group.h Implement cancel groups 2020-09-03 11:01:27 -07:00
kill.cpp Declare functions in headers or use internal linkage (static) 2020-09-08 22:44:03 +02:00
kill.h fix typos 2019-10-23 19:38:44 +02:00
lru.h Use unordered_map instead of map in lru 2020-08-08 15:32:06 -07:00
maybe.h Clean up some unnecessary variable names in maybe.h 2020-12-19 16:10:40 -08:00
null_terminated_array.cpp Change C casts to C++ ones 2020-05-01 13:30:56 -07:00
null_terminated_array.h Change C casts to C++ ones 2020-05-01 13:30:56 -07:00
operation_context.cpp Allow specifying a limit on number of expansion in operation_context 2020-12-22 12:38:51 -08:00
operation_context.h Allow specifying a limit on number of expansion in operation_context 2020-12-22 12:38:51 -08:00
output.cpp Buffer in outputter_t::term_puts 2020-12-06 13:42:35 -08:00
output.h camelCase to snake_case a function name 2020-08-23 03:38:25 -07:00
pager.cpp Revert "Attempt to simplify how completions get presented in the pager" 2020-12-04 16:44:48 +01:00
pager.h Revert "Attempt to simplify how completions get presented in the pager" 2020-12-04 16:44:48 +01:00
parse_constants.h Introduce expansion limits 2020-12-05 13:19:07 -08:00
parse_execution.cpp Correct $status for certain pipeline-aborting failures 2020-12-13 17:33:34 -08:00
parse_execution.h run codebase through clang-tidy 2020-10-25 22:48:49 -07:00
parse_tree.cpp Clean up parse_error_offset_source_start 2020-12-22 12:38:51 -08:00
parse_tree.h Reduce copying in parse_util_detect_errors 2020-07-12 16:57:30 -07:00
parse_util.cpp Stop expanding globs in command position when performing error checking 2020-12-22 12:38:51 -08:00
parse_util.h Remove a stale comment 2020-12-22 12:38:51 -08:00
parser.cpp Implement cancel groups 2020-09-03 11:01:27 -07:00
parser.h Consolidate complete cycle detection and always report error on cycle 2020-09-26 14:56:03 +02:00
parser_keywords.cpp Add string to reserved keywords 2020-12-06 15:39:49 +01:00
parser_keywords.h Make IWYU output in lint.cpp less messy 2016-06-23 17:26:08 -07:00
path.cpp Simplify some duplicated path checks 2020-12-15 18:15:59 +01:00
path.h Migrate a bunch of code out of common.h 2020-01-15 13:16:43 -08:00
postfork.cpp Reformat 2020-11-22 14:39:48 +01:00
postfork.h Correct reporting of setpgid (parent vs child) 2020-11-20 14:22:42 -06:00
print_help.cpp Run clang-format on all files 2019-10-13 15:50:48 -07:00
print_help.h restyle proc module to match project style 2016-05-02 22:07:58 -07:00
proc.cpp Tighten up pipeline-aborting errors 2020-12-13 17:30:26 -08:00
proc.h Tighten up pipeline-aborting errors 2020-12-13 17:30:26 -08:00
reader.cpp Allow specifying a limit on number of expansion in operation_context 2020-12-22 12:38:51 -08:00
reader.h Don't call a variable "stdin" 2020-10-31 18:15:19 +01:00
redirection.cpp Collapse io_data switch statements 2019-12-29 15:51:22 -08:00
redirection.h dup2_list_t::resolve_chain to stop returning maybe 2019-12-29 14:49:05 -08:00
sanity.cpp Change C casts to C++ ones 2020-05-01 13:30:56 -07:00
sanity.h Amend typos and grammar errors 2019-11-25 13:07:15 +01:00
screen.cpp Revert "Stop caching line breaks in the prompt calculation" 2020-11-12 10:55:11 -08:00
screen.h Revert "Stop caching line breaks in the prompt calculation" 2020-11-12 10:55:11 -08:00
signal.cpp signal: Remove redundant set 2020-11-15 15:20:55 +01:00
signal.h Remove use of POLL_IN in SIGIO uvar notifier 2020-10-25 14:52:37 -07:00
termsize.cpp Stop #include-ing wcstringutil.h in flog.h 2020-07-29 17:04:18 -07:00
termsize.h Eliminate the termsize handling from common.h 2020-06-07 20:00:42 -07:00
timer.cpp Refactor: omit parens in lambdas with no parameters 2020-10-10 13:00:24 +02:00
timer.h Make "time" a job prefix 2020-01-03 01:07:49 -06:00
tinyexpr.cpp Also include fallback.h 2020-12-14 23:23:00 +01:00
tinyexpr.h math: Use wchar 2020-12-14 22:54:53 +01:00
tokenizer.cpp Do not treat newlines special in bigword movements 2020-09-27 18:04:09 +02:00
tokenizer.h Separate out variable assignments when completing 2020-09-26 17:30:25 -07:00
topic_monitor.cpp Use anon semaphores only on Linux 2020-09-05 13:04:22 -07:00
topic_monitor.h Correct a stale comment 2020-08-24 12:12:10 -07:00
trace.cpp Change fish_trace prefix to "->" instead of plusses 2020-12-11 21:24:33 +01:00
trace.h Add support for fish_trace variable to trace execution 2019-11-02 14:40:57 -07:00
utf8.cpp Change C casts to C++ ones 2020-05-01 13:30:56 -07:00
utf8.h [clang-tidy] Fix inconsistent declarations 2019-11-25 14:13:33 -08:00
util.cpp [clang-tidy] numeric literals to uppercase 2020-04-05 10:13:13 +02:00
util.h Return glob ordering to pre-3.1 state 2020-02-14 19:06:19 +01:00
wcstringutil.cpp Fix a gcc warning about comparison of different signedness 2020-11-29 14:06:04 -08:00
wcstringutil.h Revert "Attempt to simplify how completions get presented in the pager" 2020-12-04 16:44:48 +01:00
wgetopt.cpp Remove some dead code and enable a test 2020-08-09 15:05:16 -07:00
wgetopt.h [clang-tidy] change several member functions to const 2020-04-05 10:13:13 +02:00
wildcard.cpp Eagerly abort wildcard completions for ** wildcards 2020-12-22 12:38:51 -08:00
wildcard.h Adopt expansion limits in wildcard expansions 2020-12-05 13:21:46 -08:00
wutil.cpp Reformat 2020-11-22 14:39:48 +01:00
wutil.h run codebase through clang-tidy 2020-10-25 22:48:49 -07:00