aboutsummaryrefslogtreecommitdiffhomepage
path: root/parser.h
Commit message (Collapse)AuthorAge
* Big fat refactoring of how redirections work. In fish 1.x and 2.0.0, the ↵Gravatar ridiculousfish2013-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 set of changes working to make fish robust against running out of ↵Gravatar ridiculousfish2013-01-30
| | | | file descriptors
* Indent switch + case properly. ↵Gravatar ridiculousfish2013-01-24
| | | | https://github.com/fish-shell/fish-shell/issues/530
* stop profile switch from crashing (issue #517); also make print_profile use ↵Gravatar Jan Kanis2013-01-14
| | | | a loop instead of recursion
* Make event_block_t.event not a referenceGravatar ridiculousfish2012-12-22
| | | | Stylistic tweaks
* include fixes and suggestions from code reviewGravatar Jan Kanis2012-12-22
|
* Work towards refactoring tokenizer to be a real objectGravatar ridiculousfish2012-11-21
|
* Apply new indentation, brace, and whitespace styleGravatar ridiculousfish2012-11-18
|
* Remove trailing whitespaces and change tabs to spacesGravatar Łukasz Niemier2012-11-18
|
* Fix bug where 'else if' does not support functions and redirectionsGravatar ridiculousfish2012-11-04
| | | | https://github.com/fish-shell/fish-shell/issues/359
* Changed "elseif" to "else if"Gravatar ridiculousfish2012-09-03
|
* Clean up some warnings and some unused if-related codeGravatar ridiculousfish2012-09-01
|
* First stab at elseif implementationGravatar ridiculousfish2012-09-01
|
* Fix braces styleGravatar ridiculousfish2012-08-26
|
* Migrated function_data_t out of base block classGravatar ridiculousfish2012-08-26
| | | | Removed an auto_ptr (yay)
* Made type property of block_t constant and privateGravatar ridiculousfish2012-08-26
| | | | Further work towards cleaning up block_t hierarchy
* First stab at getting rid of the ugly state1, state2 properties of block_tGravatar ridiculousfish2012-08-26
|
* Adopt posix_spawn (!)Gravatar ridiculousfish2012-08-15
| | | | | Rewrite IO chains to be a vector of pointers, instead of a linked list Removed io_transmogrify
* Fix to restore an optimization from parse_util_get_line_from_offset in a ↵Gravatar ridiculousfish2012-08-04
| | | | more thread-safe way
* Signal handling cleanup and improved safetyGravatar ridiculousfish2012-06-04
| | | | | Fixes issue where you couldn't control-C out of a loop (https://github.com/ridiculousfish/fishfish/issues/13) Also stops doing memory allocation in the signal handler (oops) https://github.com/ridiculousfish/fishfish/issues/27
* Fix to restore completions that use command substitution (like cd)Gravatar ridiculousfish2012-05-06
| | | | Fix to adopt the same escaping code for both completions and autosuggestions
* Improved fork reportingGravatar ridiculousfish2012-04-21
| | | | Made autosuggestion work properly for tilde expansion
* Put fish on a diet. Tracked down the biggest memory hogs and fixed them. ↵Gravatar ridiculousfish2012-03-03
| | | | Total allocations down by a factor of 3 or so, live allocations a few KB.
* Changed iterators from iter++ to ++iterGravatar ridiculousfish2012-03-01
| | | | Large set of changes to history to ensure that histories from other sessions don't "bleed" into the current session
* Some initial work towards resolving nasty fork/pthread issues, and to having ↵Gravatar ridiculousfish2012-02-27
| | | | a per-parser job list
* Large set of changes to migrate sb_out and sb_err to wcstringGravatar ridiculousfish2012-02-22
|
* Removed array_list_t (!)Gravatar ridiculousfish2012-02-21
|
* A bit more debugging to parser class to try to track down a crashGravatar ridiculousfish2012-02-13
|
* Some hopefully good changes to get IOs off of hallocGravatar ridiculousfish2012-02-09
|
* Replaced void*data with auto_ptr<function_data_t>, eliminating antoher halloc.Gravatar ridiculousfish2012-02-07
|
* Fix event_block_t list from ad-hoc linked list to std::dequeueGravatar ridiculousfish2012-02-07
|
* Removed discriminated union from block_t type, allowing us to store ↵Gravatar ridiculousfish2012-02-07
| | | | wcstrings in it
* Fix to not show thread debugging warning when entering characters like "~%". ↵Gravatar Siteshwar Vashisht2012-01-30
| | | | expand_string2() now uses it's own parser instead of principal_parser. Added PARSER_TYPE_ERRORS_ONLY in parser_type_t.
* A bunch of work to move towards a sane memory model in job_tGravatar ridiculousfish2012-01-29
|
* buggy-auto-complete is not so buggy now. Merged branch 'buggy-auto-complete' ↵Gravatar Siteshwar Vashisht2012-01-29
|\ | | | | | | into CPlusPlus
* | Convert some cases where parsers are created to using PARSER_TYPE_GENERALGravatar ridiculousfish2012-01-22
| |
* | More work towards instanced parser. First successful compilationGravatar ridiculousfish2012-01-22
| |
* | More work on the instanced parserGravatar ridiculousfish2012-01-22
| |
* | More work towards instanced parserGravatar ridiculousfish2012-01-20
| |
* | More work on instancing the parserGravatar ridiculousfish2012-01-19
| |
* | Get some basic function signatures right for new instanced parserGravatar ridiculousfish2012-01-16
| |
* | Some const correctnessGravatar ridiculousfish2012-01-16
| |
* | Beginnings of instance parser workGravatar ridiculousfish2012-01-16
| |
| * Merge branch 'CPlusPlus' of ↵Gravatar Siteshwar Vashisht2012-01-16
| |\ | |/ |/| | | gitorious.org:~ridiculousfish/fish-shell/fishfish into CPlusPlus
| * Converted all auto completion calls (on pressing tab) to use ↵Gravatar Siteshwar Vashisht2012-01-16
| | | | | | | | std::vector<completion_t>, bugs are yet to be fixed
* | Improved const-correctness, eliminating warnings.Gravatar Peter Ammon2012-01-14
|/ | | | Migrated some int to size_t
* Some changes to migrate towards C++ and a multithreaded modelGravatar ridiculousfish2011-12-26
|
* remove trailing spacesGravatar Grissiom2010-09-18
| | | | | This is done by `sed -i -e 's/[ \t]*$//' *.[c,h]`, which should not introduce any functionality change.
* Add the possibility for functions which do not shadow the arguments of the ↵Gravatar axel2007-04-23
| | | | | | calling function darcs-hash:20070422221033-ac50b-d9544c87d0ddab10f7f503b5a1707292f266efe4.gz
* Move keyword detection code to separate fileGravatar axel2007-04-22
| | | | darcs-hash:20070422095026-ac50b-77a840e2830370f46b7a48fd8863095d2cd7a5f0.gz