2
0
Fork 0
mirror of https://github.com/fish-shell/fish-shell synced 2025-02-15 21:49:26 +00:00
fish-shell/src
Johannes Altmanninger 65b34a12c0 Declare that two "not" keywords cancel each other out
"not not return 34" exits with 34, not 1.  This behavior is pretty
surprising but benign. I think it's very unlikely that anyone relies
on the opposite behavior, because using two "not" decorators in one
job is weird, and code that compares not's raw exit code is rare.

The behavior doesn't match our docs, but it's not worth changing the
docs because that would confuse newcomers. Add a test to cement the
behavior and a comment to explain this is intentional.

I considered adding the comment at
parse_execution_context_t::populate_not_process where this behavior
is implemented but the field defintion seems even better, because I
expect programmers to read that first.

Closes 
2021-12-28 19:32:30 +01:00
..
builtins test: Also print proper caret for too many arguments 2021-12-24 16:08:41 +01:00
widecharwidth Update widechar_width to Unicode 14 2021-10-26 18:26:25 +02:00
ast.cpp ast.cpp: initialization order 2021-12-20 22:43:58 -08:00
ast.h ast.h: remove unused private member finished() 2021-12-12 13:05:48 -08:00
ast_node_types.inc Introduce a new fish ast 2020-07-04 14:58:02 -07:00
autoload.cpp Put lots of things in anonymous namespaces 2021-09-30 11:33:03 -07:00
autoload.h Run clang-format on all files 2019-10-13 15:50:48 -07:00
builtin.cpp Let's make src/ easier to grok, move builins to src/builtins 2021-11-09 17:39:10 -08:00
builtin.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08: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 Clean up wildcard_has 2021-11-27 12:48:04 -08:00
common.h Revert "common.h: use emplace in vec_append" 2021-12-21 02:08:23 -08:00
complete.cpp Use source_offset_t (uint32) in tokenizer. 2021-12-21 02:32:52 -08:00
complete.h Tighten up includes, some typedefs -> using 2021-09-21 18:05:53 -07:00
enum_map.h enum_map stuff to enum_map.h 2021-10-01 03:39:43 -07:00
enum_set.h Tighten up includes, some typedefs -> using 2021-09-21 18:05:53 -07:00
env.cpp unusued find_entry member: use it 2021-12-24 19:06:00 -08:00
env.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
env_dispatch.cpp Only act on the locale vars we care about 2021-12-13 11:52:17 +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 Switch path_get_data_is_remote to returning a real class enum 2021-12-18 20:48:13 -08:00
env_universal_common.h Refactor env_universal_callbacks 2021-11-14 17:39:52 -08:00
event.cpp more int -> bool 2021-12-09 00:52:45 -08:00
event.h Refactor env_universal_callbacks 2021-11-14 17:39:52 -08:00
exec.cpp Use the full path for noshebang'd scripts 2021-12-02 21:10:57 +01:00
exec.h exec.h: remove unused declaration 2021-09-24 09:30:25 -07:00
expand.cpp Clean up wildcard_has 2021-11-27 12:48:04 -08:00
expand.h Stop expanding globs in command position when performing error checking 2020-12-22 12:38:51 -08:00
fallback.cpp Cleanup on aisle haphazard-everywhere 2021-10-28 01:47:49 -07:00
fallback.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
fd_monitor.cpp convert const ref to value 2021-08-20 01:16:24 +02:00
fd_monitor.h convert const ref to value 2021-08-20 01:16:24 +02:00
fds.cpp Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
fds.h clang-tidy: run through normal checks 2021-08-21 21:59:05 +02:00
fish.cpp Make script file error a bit more obvious 2021-11-20 17:44:06 +01:00
fish_indent.cpp Highlight options differently 2021-10-19 17:20:21 +02:00
fish_key_reader.cpp fkr: do not do should_exit() thing for continuous mode. 2021-12-01 02:15:58 -08:00
fish_test_helper.cpp Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
fish_tests.cpp fish_tests: actually test fish_wcstod 2021-12-27 14:07:17 +08:00
fish_version.cpp Fix build 2021-09-21 18:33:14 -07: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 mark some functions static 2021-10-31 03:51:38 -07:00
function.h Continue to refactor functions 2021-10-23 10:12:52 -07:00
future_feature_flags.cpp Fit status feaetures in 80 columns 2021-12-13 01:24:47 -08: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 Fix error check for repeated quoted command substitution 2021-12-04 16:56:07 +01:00
highlight.h Highlight options differently 2021-10-19 17:20:21 +02:00
history.cpp Switch path_get_data_is_remote to returning a real class enum 2021-12-18 20:48:13 -08:00
history.h history.h: 2021-12-12 13:36:14 -08:00
history_file.cpp Switch path_get_data_is_remote to returning a real class enum 2021-12-18 20:48:13 -08:00
history_file.h Introduce noncopyable_t and nonmovable_t 2021-07-23 11:19:42 -07:00
input.cpp Implement nextd-or-forward-word and prevd-or-backward-word in C++ 2021-12-11 10:19:18 +01:00
input.h Stop using thread local vectors 2021-08-10 13:07:13 -07:00
input_common.cpp Complete revert of faulty polling workaround 2021-07-18 18:41:04 +02:00
input_common.h Implement nextd-or-forward-word and prevd-or-backward-word in C++ 2021-12-11 10:19:18 +01: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 Improve error for redirections to invalid paths 2021-11-20 17:44:05 +01:00
io.h convert const ref to value 2021-08-20 01:16:24 +02:00
iothread.cpp Fix some extra arguments for string format functions. 2021-12-12 14:06:17 -08:00
iothread.h clang-tidy: run through normal checks 2021-08-21 21:59:05 +02: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 Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
maybe.h maybe.h: reference header new 2021-08-17 18:57:16 -05: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 Tighten up includes, some typedefs -> using 2021-09-21 18:05:53 -07:00
pager.cpp Wrap even more stuff in anonymous namespaces 2021-09-30 11:33:03 -07: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 Use source_offset_t (uint32) in tokenizer. 2021-12-21 02:32:52 -08:00
parse_execution.cpp Let's make src/ easier to grok, move builins to src/builtins 2021-11-09 17:39:10 -08: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 Use source_offset_t (uint32) in tokenizer. 2021-12-21 02:32:52 -08:00
parse_util.cpp Cleanup comment to match implementation 2021-12-12 18:21:35 +01:00
parse_util.h Fix error check for repeated quoted command substitution 2021-12-04 16:56:07 +01:00
parser.cpp sanity.{cpp,h}: remove, entirely unused 2021-12-09 00:41:47 -08:00
parser.h Mark parser_t::principal as const 2021-09-24 21:09:28 -07:00
parser_keywords.cpp builtin _ is now a reserved keyword 2021-10-11 00:27:44 -07:00
parser_keywords.h Make IWYU output in lint.cpp less messy 2016-06-23 17:26:08 -07:00
path.cpp Switch path_get_data_is_remote to returning a real class enum 2021-12-18 20:48:13 -08:00
path.h Switch path_get_data_is_remote to returning a real class enum 2021-12-18 20:48:13 -08:00
postfork.cpp Improve error message for fish scripts without shebang 2021-12-28 15:30:04 +01:00
postfork.h remove accidental change 2021-09-21 18:26:44 -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 Fix some extra arguments for string format functions. 2021-12-12 14:06:17 -08:00
proc.h Declare that two "not" keywords cancel each other out 2021-12-28 19:32:30 +01:00
reader.cpp Implement nextd-or-forward-word and prevd-or-backward-word in C++ 2021-12-11 10:19:18 +01:00
reader.h builtin commandline: add option to determine if pager is fully disclosed 2021-12-04 22:43:39 +01: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
screen.cpp Fix completion pager rendering when there are lines after cursor 2021-12-02 04:58:46 +01:00
screen.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
signal.cpp Tighten up includes, some typedefs -> using 2021-09-21 18:05:53 -07:00
signal.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08: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 timer.cpp: fix format specifiers and type confusion 2021-12-02 05:33:21 -08:00
timer.h Pass some parameters by reference/move 2021-03-21 19:41:36 +01:00
tinyexpr.cpp math: For two adjacent numbers, complain about missing operator 2021-12-01 16:56:18 +01:00
tinyexpr.h math: Use wchar 2020-12-14 22:54:53 +01:00
tokenizer.cpp Reword confusing comments about quoted cmdsub tokenization 2021-12-04 16:52:13 +01:00
tokenizer.h Use source_offset_t (uint32) in tokenizer. 2021-12-21 02:32:52 -08: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 Restyle codebase with clang-format 2021-11-08 12:21:11 -08:00
trace.h Cache if tracing is enabled 2021-10-28 19:39:30 +02: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 wcsfilecmp: Stop actually computing the numbers 2021-10-07 17:57:52 +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 Mild refactoring of wait handles 2021-10-28 10:37:43 -07:00
wcstringutil.cpp Wrap even more stuff in anonymous namespaces 2021-09-30 11:33:03 -07:00
wcstringutil.h Restyle codebase with clang-format 2021-11-08 12:21:11 -08: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 Clean up wildcard_has 2021-11-27 12:48:04 -08:00
wildcard.h Clean up wildcard_has 2021-11-27 12:48:04 -08:00
wutil.cpp Keep narrow directory name around some more 2021-11-20 20:10:18 +01:00
wutil.h Keep narrow directory name around some more 2021-11-20 20:10:18 +01:00