Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Eliminate wcsv2strv | ridiculousfish | 2014-10-30 |
| | |||
* | Add an assertion to reflect unreachable code | ridiculousfish | 2014-10-19 |
| | |||
* | Add new `functions` flag -V/--inherit-variable | Kevin Ballard | 2014-10-02 |
| | | | | | | | | | | --inherit-variable takes a variable name and snapshots its current value. When the function is executed, it will have a local variable with this value already defined. Printing the function source will include synthesized `set -l` lines for the values. This is primarily useful for functions that are created on the fly, such as in `psub`. | ||
* | Base `status -b` off the parser execution stack | Kevin Ballard | 2014-09-30 |
| | | | | | | | | | | | Instead of globally marking the state as "in block" when evaluating blocks/functions, update the "in block" status when pushing/popping blocks on the parser stack. Fixes #1729. On a side note, `status -b` is actually pretty useless, because it always returns 0 inside of a function (even without this patch). | ||
* | Expunge INTERNAL_BLOCK from the codebase | Kevin Ballard | 2014-09-30 |
| | | | | It's a relic of the old parser, and isn't used anymore. | ||
* | Don't leave is_block in bad state after bad redirection | Kevin Ballard | 2014-09-30 |
| | | | | Fixes #1728. | ||
* | Remove INTERNAL_BUFFER, which was only used by fish_pager | ridiculousfish | 2014-09-22 |
| | |||
* | Decrement SHLVL when running `exec` | Kevin Ballard | 2014-09-19 |
| | | | | | | | | | | | `exec` removes fish from the shell "stack", so SHLVL needs to be decremented to match. This means `exec fish` will result in the same SHLVL in the new fish instance. Also tweak the SHLVL logic to interpret an environment SHLVL of "3foo" as garbage instead of as the value "3". Fixes #1693. | ||
* | Trim trailing newline on cmdsubst when IFS='' | Kevin Ballard | 2014-08-29 |
| | | | | | | | When $IFS is empty, command substitution no longer splits on newlines. However we still want to trim off a single trailing newline, as most commands will emit a trailing newline and it makes it harder to work with their output. | ||
* | Clean up the IFS handling in command substitution | Kevin Ballard | 2014-08-21 |
| | | | | | | Remove the useless ASCII test of the first byte of IFS. We don't split on the first character, we only use a non-empty IFS as a signal to split on newlines. | ||
* | Teach while loops to not hang forever with no-execute | ridiculousfish | 2014-07-11 |
| | | | | Fixes #1543 | ||
* | Remove the close_old field from io_fd_t, which is never actually | ridiculousfish | 2014-04-16 |
| | | | | | respected - a bug dating back to fish 1.x! The fd that would be closed is actually closed in io_cleanup_fds(). | ||
* | Eliminate the parser_use_ast switch, which does nothing, and | ridiculousfish | 2014-04-14 |
| | | | | exec_no_exec, which also does nothing in the new parser | ||
* | Minor cleanup of redirection functions | ridiculousfish | 2014-04-11 |
| | |||
* | Fix line number reporting in new parser | ridiculousfish | 2014-03-20 |
| | |||
* | Remove support for input IO_BUFFERs, which were only used by fish_pager | ridiculousfish | 2014-03-15 |
| | |||
* | Revert "Merge pull request #1317 from pullreq/cpp" | ridiculousfish | 2014-02-28 |
| | | | | | | | This reverts commit 74135c0600d5dcc40d396d0e7293c17b8d4bdaa7, reversing changes made to 6d749789ce240a3e6f1447777db63fd8e7525560. See discussion in #1317 | ||
* | Fixes .c -> .cpp in comments. For doxygen. | Geoff Nixon | 2014-02-27 |
| | |||
* | Update style and formatting to conform to fish style guide. | ridiculousfish | 2014-01-15 |
| | |||
* | Fix some warnings | ridiculousfish | 2014-01-01 |
| | |||
* | Support for implicit cd, no-exec, and the exit builtin. All tests now | ridiculousfish | 2013-12-29 |
| | | | | pass (!). Error reporting still unsteady. | ||
* | Fix issues related to redirections and block level IO with new parser | ridiculousfish | 2013-12-28 |
| | |||
* | Bringup of function definitions, switch statements with new parser | ridiculousfish | 2013-12-27 |
| | |||
* | Hook up for statements, if statements, and function definition in new | ridiculousfish | 2013-12-27 |
| | | | | parser | ||
* | Refactor block_t storage in parser_t from a linked list to a vector | ridiculousfish | 2013-12-20 |
| | |||
* | Cast size_t to unsigned long. | Konrad Borowski | 2013-11-25 |
| | | | | | | printf expects unsigned long (%lu) argument, however, size_t doesn't have to be declared as such. As %zu is C99 (but not C++), it shouldn't be used directly. Instead, I have to cast value to the correct type. | ||
* | Fix formatting | ridiculousfish | 2013-10-26 |
| | |||
* | Fix a C++11 compile error with clang. | ridiculousfish | 2013-08-25 |
| | | | | https://github.com/mxcl/homebrew/pull/22016#issuecomment-23222977 | ||
* | Put read pipe last so that eval works again. Addresses ↵ | ridiculousfish | 2013-08-21 |
| | | | | https://github.com/fish-shell/fish-shell/issues/966 | ||
* | Replace some #warnings with a comment explaining why the code is OK | ridiculousfish | 2013-08-19 |
| | |||
* | Big fat refactoring of how redirections work. In fish 1.x and 2.0.0, the ↵ | ridiculousfish | 2013-08-19 |
| | | | | | | | | | | redirections for a process were flattened into a big list associated with the job, so there was no way to tell which redirections applied to each process. Each process therefore got all the redirections associated with the job. See https://github.com/fish-shell/fish-shell/issues/877 for how this could manifest. With this change, jobs only track their block-level redirections. Process level redirections are correctly associated with the process, and at exec time we stitch them together (block, pipe, and process redirects). This fixes the weird issues where redirects bleed across pipelines (like #877), and also allows us to play with the order in which redirections are applied, since the final list is constructed right before it's needed. This lets us put pipes after block level redirections but before process level redirections, so that a 2>&1-type redirection gets picked up after the pipe, i.e. it should fix https://github.com/fish-shell/fish-shell/issues/110 This is a significant change. The tests all pass. Cross your fingers. | ||
* | Initial work towards various IO cleanups with an eye to fixing ↵ | ridiculousfish | 2013-08-19 |
| | | | | https://github.com/fish-shell/fish-shell/issues/110 | ||
* | Cleanup of code that decides whether or not to fork. Fix for issue where ↵ | ridiculousfish | 2013-06-16 |
| | | | | stderr may be output twice. | ||
* | Fix for incorrect use of shared ptr references | ridiculousfish | 2013-06-16 |
| | |||
* | Formatting and style updates | ridiculousfish | 2013-05-05 |
| | |||
* | Mark stdin as nonblocking if we get EWOULDBLOCK, and before handing it off ↵ | ridiculousfish | 2013-04-07 |
| | | | | | | to child processes when either starting them or moving them to the foreground. https://github.com/fish-shell/fish-shell/issues/176 | ||
* | Teach fish how to push and pop blocks even in the face of no_exec. All tests ↵ | ridiculousfish | 2013-03-25 |
| | | | | | | finally pass. https://github.com/fish-shell/fish-shell/issues/624 | ||
* | Additional changes related to https://github.com/fish-shell/fish-shell/pull/592 | ridiculousfish | 2013-02-28 |
| | |||
* | Cleanup and simplify null_terminated_array_t and its clients | ridiculousfish | 2013-02-22 |
| | |||
* | Hopeful fix to avoid forking for certain builtins like echo when they have ↵ | ridiculousfish | 2013-02-22 |
| | | | | an input redirection only | ||
* | Fix a crash when redirecting a nonexistent file to a function | ridiculousfish | 2013-02-20 |
| | | | | https://github.com/fish-shell/fish-shell/pull/574 | ||
* | More cleanup based on static analysis | ridiculousfish | 2013-02-16 |
| | | | | https://github.com/fish-shell/fish-shell/issues/575 | ||
* | exec(): Fix a stupid crash. Remove commented debug code that became invalidated. | Cheer Xiao | 2013-02-11 |
| | |||
* | In exec(), only add and remove pipe_{read,write} when necessary | Cheer Xiao | 2013-02-11 |
| | |||
* | Make io_data_t::fd const | Cheer Xiao | 2013-02-11 |
| | | | | In exec(), pipe_{write,read} no longer get reused. | ||
* | remove __warn_unused attribute from exec_subshell | Jan Kanis | 2013-02-06 |
| | |||
* | Make subcommands modify $status, and make builtin_set not modify status ↵ | ridiculousfish | 2013-01-31 |
| | | | | | | | unless it fails https://github.com/fish-shell/fish-shell/issues/547 https://github.com/fish-shell/fish-shell/issues/214 | ||
* | Attempt to further improve fish's handling when it runs out of fds, and plug ↵ | ridiculousfish | 2013-01-30 |
| | | | | some fd leaks | ||
* | Initial set of changes working to make fish robust against running out of ↵ | ridiculousfish | 2013-01-30 |
| | | | | file descriptors | ||
* | Fix spelling: s/circut/circuit/g | Cheer Xiao | 2013-01-24 |
| |