fish-shell/src
ridiculousfish 11a373f121 Prevent redirecting internal processes to file descriptors above 2
The user may write for example:

    echo foo >&5

and fish would try to output to file descriptor 5, within the fish process
itself. This has unpredictable effects and isn't useful. Make this an
error.

Note that the reverse is "allowed" but ignored:

    echo foo 5>&1

this conceptually dup2s stdout to fd 5, but since no builtin writes to fd
5 we ignore it.
2021-02-20 16:16:45 -08:00
..
widecharwidth Incorporate widecharwidth changes for narrow emoji 2020-08-04 12:40:46 -07:00
ast_node_types.inc Introduce a new fish ast 2020-07-04 14:58:02 -07:00
ast.cpp Also allow unclosed quotes in some places 2021-02-09 22:38:16 +01:00
ast.h Reformat 2020-11-22 14:39:48 +01: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_argparse.cpp argparse: Make short flag names optional (#7585) 2021-01-01 11:37:25 +01: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 Remove stray comment 2021-02-11 18:44:53 +01: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 Add concept of edit groups 2021-01-05 15:43:34 -06: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 complete: Don't require a parameter with --force-files 2021-01-29 18:23:29 +01: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 echo: Don't interpret and print options 2021-01-09 08:50:30 +01: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 Remove fd_set_t 2021-02-05 18:14:50 -08: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 Track histories with shared_ptr 2021-01-09 17:02:11 -08: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: Set LC_NUMERIC to C again 2021-02-17 09:07:40 +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 builtins to allow stdin to be closed 2021-02-10 17:43:10 -08: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 builtin realpath: use absolute path also with -s/--no-symlinks 2020-12-24 08:53:08 +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 Saturate exit codes to 255 for all builtins 2021-02-13 08:41:51 +01:00
builtin_return.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_set.cpp Saturate exit codes to 255 for all builtins 2021-02-13 08:41:51 +01:00
builtin_set.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
builtin_source.cpp source: Escape filenames in errors 2021-02-15 17:08:26 +01: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 builtins to allow stdin to be closed 2021-02-10 17:43:10 -08: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 Elimiate static variables inside builtin_test 2021-02-07 17:41:36 -08: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 type: Only print function path with "--path" 2021-01-24 15:31:39 +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
builtin.cpp Saturate exit codes to 255 for all builtins 2021-02-13 08:41:51 +01:00
builtin.h Change builtins to return maybe_t<int> instead of int 2020-08-05 12:23:49 -07:00
color.cpp Refactor color.h/color.cpp 2021-02-08 15:16:21 -06:00
color.h Refactor color.h/color.cpp 2021-02-08 15:16:21 -06:00
common.cpp Introduce wcs2string_appending 2021-02-17 15:36:22 -08:00
common.h Introduce wcs2string_appending 2021-02-17 15:36:22 -08:00
complete.cpp Don't add a space if completion only added a single "/" 2021-02-14 13:50:43 +01: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_dispatch.cpp Use const_strlen in a few different places 2021-02-08 15:16:21 -06: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 Fix set -U when fish_variables is a symlink 2021-02-20 14:24:11 -08:00
env_universal_common.h Migrate autoclose_fd_t to new file fds.h 2021-02-05 17:58:08 -08:00
env.cpp Statically assert the sort order of more lists 2021-02-08 15:31:49 -06:00
env.h Convert var_table_t to an unordered_map 2020-06-25 00:56:49 -05: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 handle_builtin_output to take io_chain by const reference 2021-02-13 20:05:33 -08:00
exec.h Move autoclose_pipes_t from io.h to fds.h 2021-02-05 17:58:08 -08:00
expand.cpp builtin set: make slice index range optional, like in slice expansion 2021-01-28 07:19:38 +01: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 Use fd_event_signaller_t in fd_monitor_t 2021-02-07 10:59:10 -08:00
fd_monitor.h Use fd_event_signaller_t in fd_monitor_t 2021-02-07 10:59:10 -08:00
fds.cpp Add fd_event_signaller_t 2021-02-07 10:59:10 -08:00
fds.h Add fd_event_signaller_t 2021-02-07 10:59:10 -08:00
fish_indent.cpp fish_indent: fix extra indent of continuation lines inside blocks 2021-02-16 18:39:03 +01:00
fish_key_reader.cpp Use const_strlen in a few different places 2021-02-08 15:16:21 -06:00
fish_test_helper.cpp Restyle codebase 2020-12-06 15:39:54 +01:00
fish_tests.cpp Add a test for round-tripping characters in the private use area 2021-02-17 12:29:51 -08:00
fish_version.cpp Reformat all files 2019-05-05 12:09:25 +02:00
fish_version.h
fish.cpp Skip figuring out config with --no-execute 2021-02-15 18:59:54 +01: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 Use const_strlen in a few different places 2021-02-08 15:16:21 -06:00
future_feature_flags.h Fix a tsan warning in features_t 2021-01-08 19:36:56 -08:00
global_safety.h Reformat 2020-11-22 14:39:48 +01:00
highlight.cpp Highlight redirection target as valid if it contains a to-be-defined variable 2021-02-13 08:59:54 +01:00
highlight.h Highlight keywords differently 2021-02-07 21:18:51 +01:00
history_file.cpp Reverse const_strlen() recursion logic 2021-02-17 12:26:40 -06:00
history_file.h [clang-tidy] change several member functions to const 2020-04-05 10:13:13 +02:00
history.cpp Track histories with shared_ptr 2021-01-09 17:02:11 -08:00
history.h Track histories with shared_ptr 2021-01-09 17:02:11 -08:00
input_common.cpp Use fd_event_signaller in iothread completions 2021-02-07 10:59:10 -08:00
input_common.h Recognize and disable mouse-tracking CSI events 2021-02-06 17:22:59 -06:00
input.cpp Correct handling of SGR mouse tracking events 2021-02-17 15:45:35 -06:00
input.h Reduce input latency searching for readline function mappings 2021-02-08 15:16:20 -06:00
intern.cpp Declare functions in headers or use internal linkage (static) 2020-09-08 22:44:03 +02:00
intern.h
io.cpp io_buffer_t to store a promise, not a future, to satisfy TSan 2021-02-06 13:28:01 -08:00
io.h builtins to allow stdin to be closed 2021-02-10 17:43:10 -08:00
iothread.cpp Unify thread sanitizer detection 2021-02-07 10:59:10 -08:00
iothread.h Use fd_event_signaller in iothread completions 2021-02-07 10:59:10 -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 Expand more when performing history path detection 2021-01-08 12:58:34 -08:00
output.cpp Use wcs2string when outputting the screen 2021-02-17 15:38:46 -08: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 Introduce expansion limits 2020-12-05 13:19:07 -08:00
parse_execution.cpp Prevent redirecting internal processes to file descriptors above 2 2021-02-20 16:16:45 -08:00
parse_execution.h Prevent redirecting internal processes to file descriptors above 2 2021-02-20 16:16:45 -08:00
parse_tree.cpp Output human-readable descriptions of some parse errors 2021-02-09 22:38:16 +01:00
parse_tree.h Reduce copying in parse_util_detect_errors 2020-07-12 16:57:30 -07:00
parse_util.cpp Do not indent after escaped newline in comment 2021-02-16 18:39:03 +01:00
parse_util.h Remove a stale comment 2020-12-22 12:38:51 -08:00
parser_keywords.cpp Add string to reserved keywords 2020-12-06 15:39:49 +01:00
parser_keywords.h
parser.cpp Add a separate --profile-startup option to profile startup 2021-01-29 20:46:34 +01:00
parser.h Add a separate --profile-startup option to profile startup 2021-01-29 20:46:34 +01: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 Use const_strlen in a few different places 2021-02-08 15:16:21 -06: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
proc.cpp Tighten up pipeline-aborting errors 2020-12-13 17:30:26 -08:00
proc.h Saturate exit codes to 255 for all builtins 2021-02-13 08:41:51 +01:00
reader.cpp Do not reset terminal color when donating term for running key bindings 2021-02-17 11:10:51 -08:00
reader.h Track histories with shared_ptr 2021-01-09 17:02:11 -08: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 Use const_strlen in a few different places 2021-02-08 15:16:21 -06:00
signal.h Remove use of POLL_IN in SIGIO uvar notifier 2020-10-25 14:52:37 -07:00
termsize.cpp termsize: Default to 80x24 when the terminal says 0 again 2021-02-12 18:25:21 +01: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 Unify thread sanitizer detection 2021-02-07 10:59:10 -08: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 Factor out count_preceding_backslashes 2021-01-30 16:20:20 -08:00
wcstringutil.h Factor out count_preceding_backslashes 2021-01-30 16:20:20 -08: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 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 Migrate more fd-concerned functions from wutil into fds 2021-02-05 17:58:08 -08:00
wutil.h Migrate more fd-concerned functions from wutil into fds 2021-02-05 17:58:08 -08:00