fish-shell/src
ridiculousfish 81dd4a4536 [math] Remove more bare variable support
Prior to this fix, a "bare variable" in math like 'x + 1' would be
looked up in the environment, i.e. equivalent to '$x + 1'. This appears
to have been done for performance. However this breaks the orthogonality
of fish; performance is not a sufficient justification to give math this
level of built-in power, especially because the performance of math is
not a bottleneck. The implementation is also ugly.

Remove this feature so that variables must be prefixed with the dollar
sign and undergo normal variable expansion. Reading 'git grep' output
does not show any uses of this in fish functions or completions.

Also added to changelog.

Fixes #4393
2017-12-17 12:40:09 -08:00
..
autoload.cpp Switch env_var to using maybe_t 2017-09-01 00:14:42 -07:00
autoload.h Removed XXHash and converted some wchar_t* to wcstring 2017-08-19 18:27:24 -05:00
builtin.cpp add wait command 2017-11-16 10:48:21 -08:00
builtin.h modify read to require at least one var 2017-07-20 13:07:30 -07:00
builtin_argparse.cpp Use move semantics instead of swap in env_set 2017-08-30 00:59:45 -07:00
builtin_argparse.h implement argparse builtin 2017-07-12 22:38:24 -07:00
builtin_bg.cpp change help only cmd opts interface 2017-06-16 21:01:57 -07:00
builtin_bg.h split builtin bg into its own module 2017-06-16 21:01:56 -07:00
builtin_bind.cpp Add -s to builtin_bind's allowed parameter list 2017-10-03 11:20:17 +02:00
builtin_bind.h Silence bind errors in default key bindings 2017-10-03 11:20:17 +02:00
builtin_block.cpp standardize on builtin_missing_argument() 2017-07-01 14:03:47 -07:00
builtin_block.h split builtin block into its own module 2017-06-16 21:01:56 -07:00
builtin_builtin.cpp standardize on builtin_missing_argument() 2017-07-01 14:03:47 -07:00
builtin_builtin.h split builtin builtin into its own module 2017-06-16 21:01:56 -07:00
builtin_cd.cpp Switch env_var to using maybe_t 2017-09-01 00:14:42 -07:00
builtin_cd.h split builtin cd into its own module 2017-06-16 21:01:56 -07:00
builtin_command.cpp standardize on builtin_missing_argument() 2017-07-01 14:03:47 -07:00
builtin_command.h split builtin command into its own module 2017-06-16 21:01:56 -07:00
builtin_commandline.cpp Remove custom lock types in favor of native C++11 mutexes 2017-08-18 23:09:31 -05:00
builtin_commandline.h restyle builtin modules to match project style 2016-04-26 21:58:59 -07:00
builtin_complete.cpp Remove unused vars identified by lint 2017-08-18 16:52:39 -07:00
builtin_complete.h implement our own assert() function 2017-02-14 18:48:27 -08:00
builtin_contains.cpp standardize on builtin_missing_argument() 2017-07-01 14:03:47 -07:00
builtin_contains.h split builtin contains into its own module 2017-06-16 21:01:56 -07:00
builtin_disown.cpp change help only cmd opts interface 2017-06-16 21:01:57 -07:00
builtin_disown.h split builtin disown into its own module 2017-06-16 21:01:56 -07:00
builtin_echo.cpp use the UNUSED(); pattern for the prev change 2017-07-09 19:55:04 -07:00
builtin_echo.h split builtin echo into its own module 2017-06-16 21:01:56 -07:00
builtin_emit.cpp change help only cmd opts interface 2017-06-16 21:01:57 -07:00
builtin_emit.h split builtin emit into its own module 2017-06-16 21:01:56 -07:00
builtin_exit.cpp standardize on builtin_missing_argument() 2017-07-01 14:03:47 -07:00
builtin_exit.h split builtin exit into its own module 2017-06-16 21:01:56 -07:00
builtin_fg.cpp change env_var_t to a vector of strings 2017-08-18 16:24:30 -07:00
builtin_fg.h split builtin fg into its own module 2017-06-16 21:01:56 -07:00
builtin_function.cpp standardize on builtin_missing_argument() 2017-07-01 14:03:47 -07:00
builtin_function.h fix issues with builtin_function() 2017-06-18 12:55:14 -07:00
builtin_functions.cpp Switch env_var to using maybe_t 2017-09-01 00:14:42 -07:00
builtin_functions.h split builtin functions into its own module 2017-06-16 21:01:56 -07:00
builtin_history.cpp Merge branch 'master' into history-glob-search 2017-10-10 08:16:21 +02:00
builtin_history.h split builtin history into its own module 2017-06-16 21:01:56 -07:00
builtin_jobs.cpp fixed small typo in src/builtin_jobs.cpp (#4530) 2017-11-10 11:41:02 -08:00
builtin_jobs.h implement our own assert() function 2017-02-14 18:48:27 -08:00
builtin_math.cpp [math] Remove more bare variable support 2017-12-17 12:40:09 -08:00
builtin_math.h Implement bare minimum builtin math command 2017-08-23 14:43:45 -07:00
builtin_printf.cpp fix 'printf "%o"' handling on powerpc64 2017-10-03 04:17:56 +03:00
builtin_printf.h implement our own assert() function 2017-02-14 18:48:27 -08:00
builtin_pwd.cpp change help only cmd opts interface 2017-06-16 21:01:57 -07:00
builtin_pwd.h split builtin pwd into its own module 2017-06-16 21:01:56 -07:00
builtin_random.cpp change help only cmd opts interface 2017-06-16 21:01:57 -07:00
builtin_random.h split builtin random into its own module 2017-06-16 21:01:56 -07:00
builtin_read.cpp Replace opts.stdout with opts.to_stdout 2017-10-12 11:44:14 -05:00
builtin_read.h split builtin status and read into its own module 2017-06-16 21:01:56 -07:00
builtin_realpath.cpp Change wrealpath to return a maybe_t 2017-10-11 00:08:26 -07:00
builtin_realpath.h split builtin realpath into its own module 2017-06-16 21:01:56 -07:00
builtin_return.cpp standardize on builtin_missing_argument() 2017-07-01 14:03:47 -07:00
builtin_return.h split builtin return into its own module 2017-06-16 21:01:56 -07:00
builtin_set.cpp Switch env_var to using maybe_t 2017-09-01 00:14:42 -07:00
builtin_set.h implement our own assert() function 2017-02-14 18:48:27 -08:00
builtin_set_color.cpp Make italics/dim work on MacOS 2017-09-29 14:25:09 -07:00
builtin_set_color.h implement our own assert() function 2017-02-14 18:48:27 -08:00
builtin_source.cpp change help only cmd opts interface 2017-06-16 21:01:57 -07:00
builtin_source.h split builtin source into its own module 2017-06-16 21:01:56 -07:00
builtin_status.cpp Restore previous output of status current-{filename,function} 2017-10-31 18:10:46 +08:00
builtin_status.h split builtin status and read into its own module 2017-06-16 21:01:56 -07:00
builtin_string.cpp Fix string match -en error typo 2017-09-08 16:33:34 +02:00
builtin_string.h implement our own assert() function 2017-02-14 18:48:27 -08:00
builtin_test.cpp another step in fixing issue #3985 2017-05-07 21:20:31 -07:00
builtin_test.h restyle builtin modules to match project style 2016-04-26 21:58:59 -07:00
builtin_ulimit.cpp standardize on builtin_missing_argument() 2017-07-01 14:03:47 -07:00
builtin_ulimit.h implement our own assert() function 2017-02-14 18:48:27 -08:00
builtin_wait.cpp Use some modern initialization syntax in builtin_wait 2017-11-16 10:54:34 -08:00
builtin_wait.h add wait command 2017-11-16 10:48:21 -08:00
color.cpp fix lint errors that have crept in 2017-05-06 22:08:07 -07:00
color.h implement our own assert() function 2017-02-14 18:48:27 -08:00
common.cpp only call ioctl to export new termsize if process is in the foreground 2017-10-21 07:21:17 +08:00
common.h Support building on Solaris 11 2017-09-26 08:19:33 -05:00
complete.cpp drop USE_GETTEXT macro and use only HAVE_GETTEXT 2017-11-16 21:29:42 +08:00
complete.h Remove unused vars identified by lint 2017-08-18 16:52:39 -07:00
env.cpp Revert "Non-exported vars: rename SHLVL to shlvl" 2017-10-15 04:37:34 -07:00
env.h Hoist for loop control var to enclosing scope (#4376) 2017-09-08 21:14:26 -07:00
env_universal_common.cpp Support building on Solaris 11 2017-09-26 08:19:33 -05:00
env_universal_common.h Switch env_var to using maybe_t 2017-09-01 00:14:42 -07:00
event.cpp implement status is-breakpoint 2017-06-20 17:18:59 -07:00
event.h style cleanups 2017-05-01 22:05:35 -07:00
exec.cpp Revert "Non-exported vars: rename SHLVL to shlvl" 2017-10-15 04:37:34 -07:00
exec.h implement limits on command substitution output 2017-08-03 17:40:25 -07:00
expand.cpp Change wrealpath to return a maybe_t 2017-10-11 00:08:26 -07:00
expand.h change env_var_t to a vector of strings 2017-08-18 16:24:30 -07:00
fallback.cpp Rewrite tparm_solaris_kludge to call tparm with default parameters 2017-10-31 16:48:35 +08:00
fallback.h Rewrite tparm_solaris_kludge to call tparm with default parameters 2017-10-31 16:48:35 +08:00
fish.cpp Remove custom lock types in favor of native C++11 mutexes 2017-08-18 23:09:31 -05:00
fish_indent.cpp remove dead code 2017-06-16 21:01:56 -07:00
fish_key_reader.cpp fish_key_reader: Add --version option 2017-07-04 22:55:47 +02:00
fish_tests.cpp Reduce number of threads in history race test 2017-09-11 22:34:59 -07:00
fish_version.cpp restyle fish modules to match project style 2016-04-30 19:52:13 -07:00
fish_version.h restyle fish modules to match project style 2016-04-30 19:52:13 -07:00
function.cpp Switch env_var to using maybe_t 2017-09-01 00:14:42 -07:00
function.h implement means to learn about a functions source 2017-01-20 21:48:41 -08:00
highlight.cpp Switch env_var to using maybe_t 2017-09-01 00:14:42 -07:00
highlight.h implement our own assert() function 2017-02-14 18:48:27 -08:00
history.cpp Merge branch 'master' into history-glob-search 2017-10-10 08:16:21 +02:00
history.h mplement history search glob searches 2017-09-15 13:43:45 -07:00
input.cpp Switch env_var to using maybe_t 2017-09-01 00:14:42 -07:00
input.h lint cleanup 2017-06-16 21:01:56 -07:00
input_common.cpp Switch env_var to using maybe_t 2017-09-01 00:14:42 -07:00
input_common.h implement our own assert() function 2017-02-14 18:48:27 -08:00
intern.cpp Remove custom lock types in favor of native C++11 mutexes 2017-08-18 23:09:31 -05:00
intern.h restyle intern module to match project style 2016-05-01 20:28:46 -07:00
io.cpp implement limits on command substitution output 2017-08-03 17:40:25 -07:00
io.h implement limits on command substitution output 2017-08-03 17:40:25 -07:00
iothread.cpp Fix thread sanitizer errors in iothread 2017-09-11 15:50:41 -07:00
iothread.h lint cleanups 2017-02-11 21:30:38 -08:00
kill.cpp fix random lint issues 2016-05-29 22:24:29 -07:00
kill.h restyle kill module to match project style 2016-05-01 22:18:59 -07:00
lru.h Removed XXHash and converted some wchar_t* to wcstring 2017-08-19 18:27:24 -05:00
maybe.h Add maybe_t template class 2017-09-01 00:14:14 -07:00
output.cpp Switch env_var to using maybe_t 2017-09-01 00:14:42 -07:00
output.h change env_var_t to a vector of strings 2017-08-18 16:24:30 -07:00
pager.cpp Correct prefix length calculation in completion measurement 2017-09-23 13:06:44 -07:00
pager.h implement our own assert() function 2017-02-14 18:48:27 -08:00
parse_constants.h Error message prefix: Prefix the message, not the context 2017-04-11 20:00:29 -07:00
parse_execution.cpp Hoist for loop control var to enclosing scope (#4376) 2017-09-08 21:14:26 -07:00
parse_execution.h Hoist for loop control var to enclosing scope (#4376) 2017-09-08 21:14:26 -07:00
parse_productions.cpp fix echo -h 2017-06-18 22:10:19 -07:00
parse_productions.h style cleanups 2017-05-01 22:05:35 -07:00
parse_tree.cpp fix a regression involving parser error output 2017-07-18 20:50:54 -07:00
parse_tree.h implement our own assert() function 2017-02-14 18:48:27 -08:00
parse_util.cpp Silence fallthrough-warning on gcc 2017-07-04 23:52:39 +02:00
parse_util.h fix echo -h 2017-06-18 22:10:19 -07:00
parser.cpp remove deprecated . (dot) command 2017-08-07 18:31:20 -07:00
parser.h another make style-all cleanup 2017-06-23 23:19:09 -07:00
parser_keywords.cpp cleanup env code and contains() 2017-04-05 17:09:12 -07:00
parser_keywords.h Make IWYU output in lint.cpp less messy 2016-06-23 17:26:08 -07:00
path.cpp Work around WSL access(2) EINVAL bug 2017-09-24 13:43:50 -05:00
path.h stop subclassing env_var_t from wcstring 2017-08-06 13:24:34 -07:00
postfork.cpp make style-all time again 2017-08-06 16:05:51 -07:00
postfork.h make style-all time again 2017-08-06 16:05:51 -07:00
print_help.cpp lint: "collapsible if statements" warnings 2016-10-22 19:09:40 -07:00
print_help.h restyle proc module to match project style 2016-05-02 22:07:58 -07:00
proc.cpp add wait command 2017-11-16 10:48:21 -08:00
proc.h add wait command 2017-11-16 10:48:21 -08:00
reader.cpp Improve warning message when exiting with active jobs 2017-10-31 19:18:44 +08:00
reader.h Remove unused vars identified by lint 2017-08-18 16:52:39 -07:00
sanity.cpp improve sanity check code 2017-01-24 15:24:13 -08:00
sanity.h improve sanity check code 2017-01-24 15:24:13 -08:00
screen.cpp Simplify the cached_esc_sequences_t structure 2017-09-01 14:36:16 -07:00
screen.h Simplify the cached_esc_sequences_t structure 2017-09-01 14:36:16 -07:00
signal.cpp Fix uninitialized sigaction.sa_flags valgrind error 2017-08-26 19:13:58 -05:00
signal.h Revert "Revert "finish cleanup of signal blocking code"" 2017-08-06 14:46:12 -07:00
tokenizer.cpp implement our own assert() function 2017-02-14 18:48:27 -08:00
tokenizer.h Make IWYU output in lint.cpp less messy 2016-06-23 17:26:08 -07:00
utf8.cpp implement our own assert() function 2017-02-14 18:48:27 -08:00
utf8.h implement our own assert() function 2017-02-14 18:48:27 -08:00
util.cpp Fix the build on FreeBSD with Clang 2017-06-17 22:51:25 -07:00
util.h restyle remaining modules to match project style 2016-05-03 16:09:45 -07:00
wcstringutil.cpp fix some style bogosities that crept in 2016-05-27 14:44:30 -07:00
wcstringutil.h make style-all time again 2017-08-06 16:05:51 -07:00
wgetopt.cpp refactor wgetopt.cpp to reduce complexity 2017-06-17 17:09:01 -07:00
wgetopt.h Fix the build on FreeBSD ARM and ARM64 (#4593) 2017-12-12 22:45:17 -08:00
wildcard.cpp Implement Linear glob match #4094 2017-12-10 20:12:40 -08:00
wildcard.h Make IWYU output in lint.cpp less messy 2016-06-23 17:26:08 -07:00
wutil.cpp Change wrealpath to return a maybe_t 2017-10-11 00:08:26 -07:00
wutil.h Change wrealpath to return a maybe_t 2017-10-11 00:08:26 -07:00