ridiculousfish
ad6367018b
Excise use of parser_t's error() functionality. Thread a
...
parse_error_list_t through all of the expand functions, enabling them to
report errors more directly. Improve aspects of error reporting for
expansion failures.
2014-03-21 17:13:33 -07:00
Daniel J. Hofmann
7dc0b6f40b
Fixed various Undefined Behavior occurrences.
...
Conditionally uninitialized:
- builtin_commandline.cpp:577
- expand.cpp:869
- parse_util.cpp:1036
Initialization of POD structs:
- event.cpp:61
- autoload.cpp:22
References used with va_start:
- common.cpp:608:18
Found with clang-3.4's awesome -Wconditional-uninitialized,
-Wmissing-field-initializers and -Wvarargs.
2014-03-07 18:28:16 +01:00
ridiculousfish
79d14521db
Support for error detection in arguments in new parser. Restores error
...
reporting for bad arguments (e.g. with bad variable names)
2014-03-04 02:54:08 -08:00
ridiculousfish
be33d3f2a4
Revert "Merge pull request #1317 from pullreq/cpp"
...
This reverts commit 74135c0600
, reversing
changes made to 6d749789ce
.
See discussion in #1317
2014-02-28 02:16:48 -08:00
Geoff Nixon
18dd6f58e3
Fixes .c -> .cpp in comments. For doxygen.
2014-02-27 06:23:40 -08:00
ridiculousfish
53814983ff
Update style and formatting to conform to fish style guide.
2014-01-15 01:40:40 -08:00
ridiculousfish
b34721b3f4
Miscellaneous optimizations to reduce string copying
2014-01-07 14:57:58 -08:00
ridiculousfish
715823a666
Bringup of function definitions, switch statements with new parser
2013-12-27 03:58:42 -08:00
ridiculousfish
0e421ea31d
Various cleanup and tweaking of backtrace messages
2013-12-16 15:33:20 -08:00
ridiculousfish
4aaa9e7d9f
Allow autosuggestions to do job expansion. Fixes
...
https://github.com/fish-shell/fish-shell/issues/1152
2013-11-29 13:34:03 -08:00
ridiculousfish
9f6223311e
Large cleanup and refactoring of unescape() function.
2013-11-24 22:58:39 -08:00
ridiculousfish
cf766b55cc
Fix formatting
2013-10-26 15:27:39 -07:00
Ryan Hileman
f2a5237802
Improve dangerous/undefined PID expansion behavior
...
1. Use Bash-like expansion for empty searches (when you just use a '%' by
itself).
'%' will now *only* match the last valid backgrounded process.
If there are no such processes, an expansion error will be generated.
'%' by itself would previously match either *all* backgrounded
processes, or failing that, all processes owned by your user. If you
ever tried to run `kill -9 %`, it would either kill all backgrounded
processes or *all* of your processes. I'm not sure why anyone would ever
want that to be a single keystroke away. You could almost typo it.
As a result, `fg %`, `bg %`, `kill %`, etc will all operate on the last
process touched by job control.
2. Don't run 'by-name' matches when the search term is numeric.
This prevents you from running a command like `kill %1` and accidentally
killing a process named something like "1Command". Overloaded behavior
can be dangerous, and we probably shouldn't play fast and loose with
expansion characters that generate process IDs.
2013-09-22 19:54:37 +08:00
ridiculousfish
307a4ae9e8
Don't do completions or autosuggestions for commands with wildcards.
...
Fixes https://github.com/fish-shell/fish-shell/issues/785
2013-09-11 18:50:14 -07:00
ridiculousfish
c38a40d193
Adjust prefix completions to sort alphabetically instead of by length.
...
Other completions are still sorted by length.
https://github.com/fish-shell/fish-shell/issues/923
2013-08-31 15:01:02 -07:00
ridiculousfish
92099c7af2
Initial abbreviation work. Tests currently fail.
2013-07-19 12:41:34 -07:00
ridiculousfish
1511de68ed
Make parse_util_locate_cmdsubst return the innermost command substitution instead of the outermost.
...
Fixes https://github.com/fish-shell/fish-shell/issues/913
2013-07-17 01:35:30 -07:00
Ian Ray
b35a2d568a
Conditionally include sys/sysctl.h
2013-06-01 23:33:27 -07:00
ridiculousfish
2da81b0ae7
Formatting and style updates
2013-05-05 02:33:17 -07:00
ridiculousfish
d215e86662
Fix for issue where tab completing an empty string would produce no results
2013-04-21 15:49:45 -07:00
ridiculousfish
b8f34cdd35
Teach case-insensitive completions about tildes. Fixes https://github.com/fish-shell/fish-shell/issues/647
2013-04-07 23:54:43 -07:00
ridiculousfish
2cbcc82968
Add some headers to fix the build on OpenBSD
...
https://github.com/fish-shell/fish-shell/issues/616
2013-03-11 13:38:18 -07:00
ridiculousfish
ad8d68dd43
Make subcommands modify $status, and make builtin_set not modify status unless it fails
...
https://github.com/fish-shell/fish-shell/issues/547
https://github.com/fish-shell/fish-shell/issues/214
2013-01-31 15:57:08 -08:00
Cheer Xiao
8f045b9ec5
Fix spelling: s/circut/circuit/g
2013-01-24 19:20:06 +08:00
Cheer Xiao
8600243683
Fix two clang warnings
2013-01-17 22:45:06 +08:00
ridiculousfish
373cca0bf6
Formatting
2013-01-12 12:55:23 -08:00
ridiculousfish
b32fcc7a8e
Don't call expand_home_directory from within parser_t::test - it may hang
...
https://github.com/fish-shell/fish-shell/issues/512
2013-01-12 12:53:40 -08:00
ridiculousfish
edb973fadc
Hack around xdm's dumb assumption that the login shell is POSIX compliant so we no longer kill OpenSUSE
...
https://github.com/fish-shell/fish-shell/issues/367
Also fix some formatting
2013-01-04 13:09:01 -08:00
ridiculousfish
882a62ad52
Attempt to fix process expansion on Linux
...
Hopefully addresses https://github.com/fish-shell/fish-shell/issues/455
2012-12-18 11:37:54 -08:00
situ
e53e00c4f9
Fixed compilation error in expand.cpp
...
Fixed https://github.com/fish-shell/fish-shell/issues/401
2012-11-22 22:41:36 +05:30
ridiculousfish
e9d216bc84
Fixed recursive brace expansion
...
https://github.com/fish-shell/fish-shell/issues/399
2012-11-20 13:52:53 -08:00
ridiculousfish
26678682ca
Fix indentation of switch statements
2012-11-19 00:31:03 -08:00
ridiculousfish
9992b8eb0e
Apply new indentation, brace, and whitespace style
2012-11-18 16:30:30 -08:00
Łukasz Niemier
47df1ae40a
Remove trailing whitespaces and change tabs to spaces
2012-11-18 11:23:22 +01:00
ridiculousfish
5bbf220077
Fix bug where underlining was failing for paths prefixed with ~
...
Fixes https://github.com/fish-shell/fish-shell/issues/292
2012-08-23 11:21:35 -07:00
ridiculousfish
0e2a625815
Added some limited support for autosuggesting processes
2012-08-07 00:01:48 -07:00
ridiculousfish
fdc6c3722a
Fixed a bunch of clang analyzer warnings
...
Simplified some memory allocations by migrating to std::string
2012-08-05 12:01:53 -07:00
ridiculousfish
7a46227141
More warning fixes and switching from int to long or size_t
2012-08-04 13:02:44 -07:00
ridiculousfish
b904aa78e8
Additional warning cleanup and switching from int to size_t where appropriate
2012-08-04 11:34:45 -07:00
Colin Woodbury
eba75dbc2e
Fixed two small spelling mistakes
...
- Saw these during normal usage today.
"parens" or "parenthesis" was spelled as "parans".
Fixed two instances of this to "parenthesis".
2012-07-24 22:39:03 +09:00
ridiculousfish
b08fb86637
Renamed env_vars to env_vars_snapshot_t
...
Cleanup of non-wcstring version of path_get_path
2012-07-20 20:39:31 -07:00
ridiculousfish
bb4a05032b
Merge branch 'index_range'
2012-07-19 10:59:11 -07:00
ridiculousfish
d06d6c6964
Various changes to reduce fish's compiled code size
...
OS X release build executable size dropped from 672k to 511k
2012-07-17 12:47:01 -07:00
ridiculousfish
977a4477f6
Fix for process completion on Linux
2012-07-16 12:19:41 -07:00
ridiculousfish
33c6410809
Implemented process expansion on OS X
...
Also fixed issue where process expansion would always fail for processes with spaces
Fixes https://github.com/fish-shell/fish-shell/issues/56
2012-07-16 12:06:02 -07:00
ridiculousfish
73e56527bf
Improve error message for $?
2012-07-08 18:51:52 -07:00
ridiculousfish
24059924b1
Fix for https://github.com/fish-shell/fish-shell/issues/50
...
Unescape characters before calling parser.error
2012-07-08 18:40:50 -07:00
maxfl
b25b5bf5f6
restore tabs instead of spaces
2012-07-08 10:55:48 +08:00
maxfl
079f17761c
Fix case when first index is command substitution
2012-07-08 09:45:34 +08:00
maxfl
e1b8c425da
Fix case when second limit is a variable:
...
echo $PATH[1..$n]
2012-07-08 09:39:39 +08:00