fish-shell/src
Fabian Homborg 08209b3d9a Forbid $status as a command
This is slightly unclean. Even tho it would otherwise be syntactically
valid, using $status as a command is very very very likely to be an
error, like

    if not $status

We have reports of this surprisingly regularly, including #2773.

Because $status can only ever be a value from 0 to 255, it is also
very unlikely to be an actual command, and that command is very
unlikely to do what you want.

So we simply point the user towards the "conditions" help section,
that should explain things.
2021-07-27 18:37:20 +02:00
..
widecharwidth Incorporate widecharwidth changes for narrow emoji 2020-08-04 12:40:46 -07:00
ast.cpp Make ast FLOGs slightly less chatty 2021-05-03 12:01:21 +02:00
ast.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07: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 Properly report errors when builtin output fails 2021-04-03 16:11:25 -07:00
builtin.h Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
builtin_argparse.cpp Clean up of get_function_name 2021-07-15 11:36:43 -07:00
builtin_argparse.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_bg.cpp Introduce notion of "wait handles" 2021-05-15 20:20:50 -07:00
builtin_bg.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_bind.cpp Move builtin_bind to out-of-line 2021-05-25 17:39:55 -07:00
builtin_bind.h Move builtin_bind to out-of-line 2021-05-25 17:39:55 -07:00
builtin_block.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_block.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_builtin.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_builtin.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_cd.cpp Stop cd "" from crashing 2021-07-17 19:03:15 +02:00
builtin_cd.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_command.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_command.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_commandline.cpp Put back support for undocumented -I option to commandline 2021-07-21 15:35:22 -07:00
builtin_commandline.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_complete.cpp Make commandline state thread safe 2021-07-21 11:51:46 -07:00
builtin_complete.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_contains.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_contains.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_disown.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_disown.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_echo.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_echo.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_emit.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_emit.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_eval.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_eval.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_exit.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_exit.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_fg.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_fg.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_function.cpp Allow on-job-exit handlers to be added for any pid in the job 2021-05-25 15:28:53 -07:00
builtin_function.h Reformat 2020-11-22 14:39:48 +01:00
builtin_functions.cpp Separate on-job-exit and and on-process-exit events 2021-05-19 11:29:08 -07:00
builtin_functions.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_history.cpp Make commandline state thread safe 2021-07-21 11:51:46 -07:00
builtin_history.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_jobs.cpp Use internal job ids in builtin_wait 2021-05-13 12:11:00 -07:00
builtin_jobs.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_math.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_math.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_printf.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_printf.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_pwd.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_pwd.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_random.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_random.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_read.cpp Make commandline state thread safe 2021-07-21 11:51:46 -07:00
builtin_read.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_realpath.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_realpath.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_return.cpp Let "return" exit a script (#8148) 2021-07-21 22:33:39 +02:00
builtin_return.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_set.cpp Remove stale path validation logic 2021-07-03 08:45:47 +02:00
builtin_set.h Move builtin_bind to out-of-line 2021-05-25 17:39:55 -07:00
builtin_set_color.cpp set_color: Print an error for unknown options 2021-05-27 19:03:55 +02:00
builtin_set_color.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_source.cpp Remove some main thread assertions that are not helping 2021-07-15 10:49:27 -07:00
builtin_source.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_status.cpp Make '&' only background if followed by a separating character 2021-07-23 22:58:51 +02:00
builtin_status.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_string.cpp Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
builtin_string.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_test.cpp Make test error when number is invalid nicer 2021-04-24 11:18:58 +02:00
builtin_test.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_type.cpp Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
builtin_type.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_ulimit.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_ulimit.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
builtin_wait.cpp Refactor wait handles 2021-05-17 15:25:21 -07:00
builtin_wait.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
color.cpp Simplify ASSERT_SORT_ORDER 2021-07-15 13:15:24 -07:00
color.h Refactor color.h/color.cpp 2021-02-08 15:16:21 -06:00
common.cpp const_strlen to be aware of interior nul chars 2021-07-15 13:07:09 -07:00
common.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
complete.cpp Remove some main thread assertions that are not helping 2021-07-15 10:49:27 -07: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 Don't check config directories with --no-config 2021-07-27 18:35:20 +02:00
env.h Clean up use_posix_spawn 2021-05-31 13:38:56 -07:00
env_dispatch.cpp Enable OSC 0 when running in WezTerm 2021-07-08 16:10:11 +02: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 Do not flock the uvars file on remote filesystems 2021-05-10 15:24:32 -07:00
env_universal_common.h Mild refactoring of flock logic inside env_universal_t 2021-05-10 15:23:57 -07:00
event.cpp Fix incorrect comparison of function pointers 2021-06-28 18:06:04 -05:00
event.h Allow on-job-exit handlers to be added for any pid in the job 2021-05-25 15:28:53 -07:00
exec.cpp Remove some main thread assertions that are not helping 2021-07-15 10:49:27 -07:00
exec.h Move autoclose_pipes_t from io.h to fds.h 2021-02-05 17:58:08 -08:00
expand.cpp Implicitly use $PWD in $CDPATH in completions and highlighting 2021-07-23 17:22:06 +02: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 Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
fd_monitor.h Introduce select_wrapper_t 2021-04-17 16:43:27 -07:00
fds.cpp Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
fds.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
fish.cpp Migrate remaining calls from debug_safe to FLOGF_SAFE 2021-07-05 15:47:56 -07:00
fish_indent.cpp Teach fish_indent about our feature flags 2021-07-23 22:58:51 +02:00
fish_key_reader.cpp Remove timeout input events 2021-04-17 16:43:28 -07:00
fish_test_helper.cpp Readd awkward unused-result dance 2021-05-18 09:44:29 +02:00
fish_tests.cpp Make '&' only background if followed by a separating character 2021-07-23 22:58:51 +02: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 Migrate remaining calls from debug_safe to FLOGF_SAFE 2021-07-05 15:47:56 -07:00
flog.h Migrate remaining calls from debug_safe to FLOGF_SAFE 2021-07-05 15:47:56 -07:00
function.cpp Catch invalid function names in highlighting and autosuggestion 2021-06-22 12:37:45 -07:00
function.h Catch invalid function names in highlighting and autosuggestion 2021-06-22 12:37:45 -07:00
future_feature_flags.cpp Make '&' only background if followed by a separating character 2021-07-23 22:58:51 +02:00
future_feature_flags.h Make '&' only background if followed by a separating character 2021-07-23 22:58:51 +02:00
global_safety.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
highlight.cpp Implicitly use $PWD in $CDPATH in completions and highlighting 2021-07-23 17:22:06 +02:00
highlight.h Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
history.cpp Do not lock the history file on remote filesystems 2021-05-10 14:23:07 -07:00
history.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
history_file.cpp Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
history_file.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
input.cpp Simplify ASSERT_SORT_ORDER 2021-07-15 13:15:24 -07:00
input.h Introduce prepare_to_select, fixing job_summary.py 2021-04-17 16:43:28 -07:00
input_common.cpp Complete revert of faulty polling workaround 2021-07-18 18:41:04 +02:00
input_common.h Introduce prepare_to_select, fixing job_summary.py 2021-04-17 16:43:28 -07: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 Remove some more ASSERT_IS_MAIN_THREADs 2021-07-17 12:20:54 -07:00
io.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
iothread.cpp Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
iothread.h Introduce select_wrapper_t 2021-04-17 16:43:27 -07: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 Make the kill ring thread-safe 2021-04-21 17:37:44 -07:00
kill.h Implementation of variable with killring entries 2021-04-21 16:39:29 -07:00
lru.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
maybe.h Fix a few mild warnings with gcc 4.8 2021-05-10 16:49:01 -07:00
null_terminated_array.cpp Rework null terminated arrays 2021-03-28 15:31:25 -07:00
null_terminated_array.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -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 Expand more when performing history path detection 2021-01-08 12:58:34 -08:00
output.cpp output: Allow "--background foo" and "-b foo" for background colors 2021-06-10 10:42:30 +02:00
output.h Use wcs2string when outputting the screen 2021-02-17 15:38:46 -08: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 Let "return" exit a script (#8148) 2021-07-21 22:33:39 +02:00
parse_execution.cpp Point to builtins begin/end when a failed command starts with "{" 2021-06-23 21:47:40 +02:00
parse_execution.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
parse_tree.cpp Output human-readable descriptions of some parse errors 2021-02-09 22:38:16 +01:00
parse_tree.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
parse_util.cpp Forbid $status as a command 2021-07-27 18:37:20 +02:00
parse_util.h Simplify slice parsing in highlighting 2021-07-14 13:59:48 -07:00
parser.cpp Clean up of get_function_name 2021-07-15 11:36:43 -07:00
parser.h Remove a stale comment and add a missing initializer 2021-07-23 11:22:45 -07: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 Do not flock the uvars file on remote filesystems 2021-05-10 15:24:32 -07:00
path.h Resolve relative paths in command names for complete -p 2021-05-16 21:52:38 +02:00
postfork.cpp Work around setpgid error on older Apple platforms 2021-07-20 17:27:10 +02:00
postfork.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07: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 Allow on-job-exit handlers to be added for any pid in the job 2021-05-25 15:28:53 -07:00
proc.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
reader.cpp Make commandline state thread safe 2021-07-21 11:51:46 -07:00
reader.h Make commandline state thread safe 2021-07-21 11:51:46 -07:00
redirection.cpp Collapse io_data switch statements 2019-12-29 15:51:22 -08:00
redirection.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07: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 "Clear to eol before outputting line in multi-line prompt" 2021-07-24 09:28:39 +02:00
screen.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
signal.cpp Reformat source files with clang-format 2021-04-21 13:31:58 -07:00
signal.h Remove the SIGIO signal handler and universal notifier 2021-04-03 18:11:29 -07:00
termsize.cpp Include <termios.h> instead of <sys/termios.h>. 2021-03-02 12:05:07 +01:00
termsize.h Eliminate the termsize handling from common.h 2020-06-07 20:00:42 -07:00
timer.cpp Pass some parameters by reference/move 2021-03-21 19:41:36 +01:00
timer.h Pass some parameters by reference/move 2021-03-21 19:41:36 +01:00
tinyexpr.cpp tinyexpr: Check for nan in ncr 2021-07-26 18:40:50 +02:00
tinyexpr.h math: Use wchar 2020-12-14 22:54:53 +01:00
tokenizer.cpp Make '&' only background if followed by a separating character 2021-07-23 22:58:51 +02:00
tokenizer.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
topic_monitor.cpp Introduce select_wrapper_t 2021-04-17 16:43:27 -07:00
topic_monitor.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -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
wait_handle.cpp Refactor wait handles 2021-05-17 15:25:21 -07:00
wait_handle.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
wcstringutil.cpp Remove wcstring_tok 2021-04-18 14:46:05 -07:00
wcstringutil.h Remove wcstring_tok 2021-04-18 14:46:05 -07:00
wgetopt.cpp Make arguments to builtins const 2021-03-28 15:31:25 -07:00
wgetopt.h Make arguments to builtins const 2021-03-28 15:31:25 -07:00
wildcard.cpp Allow ** glob segments to match zero directories 2020-12-28 23:51:18 -08:00
wildcard.h Clean up some comments around wildcard expansion 2020-12-28 23:51:18 -08:00
wutil.cpp Minor improvements to file_id_t 2021-06-13 17:20:04 -07:00
wutil.h Minor improvements to file_id_t 2021-06-13 17:20:04 -07:00