ridiculousfish
e38217683c
Refactor block_t storage in parser_t from a linked list to a vector
2013-12-20 17:41:21 -08:00
ridiculousfish
4899086b3c
Big fat refactoring of how redirections work. In fish 1.x and 2.0.0, the 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.
2013-08-19 18:06:24 -07:00
ridiculousfish
1879dc4b59
Initial set of changes working to make fish robust against running out of file descriptors
2013-01-30 02:22:38 -08:00
ridiculousfish
92b2376c23
Indent switch + case properly. https://github.com/fish-shell/fish-shell/issues/530
2013-01-24 14:59:52 -08:00
Jan Kanis
44f70d2b52
stop profile switch from crashing (issue #517 ); also make print_profile use a loop instead of recursion
2013-01-14 00:49:32 +01:00
ridiculousfish
37bdb20092
Make event_block_t.event not a reference
...
Stylistic tweaks
2012-12-22 12:40:34 -08:00
Jan Kanis
8a446f43ff
include fixes and suggestions from code review
2012-12-22 18:38:28 +01:00
ridiculousfish
f545fb2491
Work towards refactoring tokenizer to be a real object
2012-11-21 17:48:35 -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
7bb844a778
Fix bug where 'else if' does not support functions and redirections
...
https://github.com/fish-shell/fish-shell/issues/359
2012-11-04 17:11:02 -08:00
ridiculousfish
1a59346b51
Changed "elseif" to "else if"
2012-09-03 13:24:01 -07:00
ridiculousfish
ff124465fd
Clean up some warnings and some unused if-related code
2012-09-01 12:29:00 -07:00
ridiculousfish
cc1395797e
First stab at elseif implementation
2012-09-01 01:46:14 -07:00
ridiculousfish
a3c4de52d6
Fix braces style
2012-08-26 23:34:34 -07:00
ridiculousfish
95de6cf5a7
Migrated function_data_t out of base block class
...
Removed an auto_ptr (yay)
2012-08-26 23:30:23 -07:00
ridiculousfish
d788c84440
Made type property of block_t constant and private
...
Further work towards cleaning up block_t hierarchy
2012-08-26 23:16:20 -07:00
ridiculousfish
96046ffd30
First stab at getting rid of the ugly state1, state2 properties of block_t
2012-08-26 22:42:29 -07:00
ridiculousfish
61686aff34
Adopt posix_spawn (!)
...
Rewrite IO chains to be a vector of pointers, instead of a linked list
Removed io_transmogrify
2012-08-15 00:57:56 -07:00
ridiculousfish
682353f9cc
Fix to restore an optimization from parse_util_get_line_from_offset in a more thread-safe way
2012-08-04 17:44:14 -07:00
ridiculousfish
69446be1ee
Signal handling cleanup and improved safety
...
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
2012-06-04 14:20:01 -07:00
ridiculousfish
71a8d39372
Fix to restore completions that use command substitution (like cd)
...
Fix to adopt the same escaping code for both completions and autosuggestions
2012-05-06 13:36:51 -07:00
ridiculousfish
0e3eb38f11
Improved fork reporting
...
Made autosuggestion work properly for tilde expansion
2012-04-21 20:08:44 -07:00
ridiculousfish
3ead99b088
Put fish on a diet. Tracked down the biggest memory hogs and fixed them. Total allocations down by a factor of 3 or so, live allocations a few KB.
2012-03-03 15:22:03 -08:00
ridiculousfish
fd4df6f9bb
Changed iterators from iter++ to ++iter
...
Large set of changes to history to ensure that histories from other sessions don't "bleed" into the current session
2012-03-01 14:56:34 -08:00
ridiculousfish
fdfa5c0602
Some initial work towards resolving nasty fork/pthread issues, and to having a per-parser job list
2012-02-27 18:43:24 -08:00
ridiculousfish
62bd43f17f
Large set of changes to migrate sb_out and sb_err to wcstring
2012-02-22 10:51:06 -08:00
ridiculousfish
2206e221bd
Removed array_list_t (!)
2012-02-21 10:47:21 -08:00
ridiculousfish
6def61dfe9
A bit more debugging to parser class to try to track down a crash
2012-02-13 11:42:58 -08:00
ridiculousfish
e5ff5f7484
Some hopefully good changes to get IOs off of halloc
2012-02-09 18:43:36 -08:00
ridiculousfish
006523ac59
Replaced void*data with auto_ptr<function_data_t>, eliminating antoher halloc.
2012-02-07 22:10:35 -08:00
ridiculousfish
399c78fbf7
Fix event_block_t list from ad-hoc linked list to std::dequeue
2012-02-07 21:04:51 -08:00
ridiculousfish
a0a43046b3
Removed discriminated union from block_t type, allowing us to store wcstrings in it
2012-02-07 17:36:54 -08:00
Siteshwar Vashisht
cd7d1f2bfe
Fix to not show thread debugging warning when entering characters like "~%". expand_string2() now uses it's own parser instead of principal_parser. Added PARSER_TYPE_ERRORS_ONLY in parser_type_t.
2012-01-30 23:58:30 +05:30
ridiculousfish
3b8a4e56b0
A bunch of work to move towards a sane memory model in job_t
2012-01-29 22:06:58 -08:00
Siteshwar Vashisht
1a5d866a91
buggy-auto-complete is not so buggy now. Merged branch 'buggy-auto-complete' into CPlusPlus
2012-01-29 14:11:39 +05:30
ridiculousfish
8403aae928
Convert some cases where parsers are created to using PARSER_TYPE_GENERAL
2012-01-22 21:57:30 -08:00
ridiculousfish
b43c8da66b
More work towards instanced parser. First successful compilation
2012-01-22 21:40:08 -08:00
ridiculousfish
da85bdc401
More work on the instanced parser
2012-01-22 20:47:13 -08:00
ridiculousfish
7e486e3b5c
More work towards instanced parser
2012-01-20 11:24:43 -08:00
ridiculousfish
3d8face1f9
More work on instancing the parser
2012-01-19 10:28:44 -08:00
ridiculousfish
fa796d668f
Get some basic function signatures right for new instanced parser
2012-01-16 12:10:08 -08:00
ridiculousfish
e4ee4ec3d1
Some const correctness
2012-01-16 11:16:12 -08:00
ridiculousfish
0073a93079
Beginnings of instance parser work
2012-01-16 11:09:19 -08:00
Siteshwar Vashisht
6f330f961b
Merge branch 'CPlusPlus' of gitorious.org:~ridiculousfish/fish-shell/fishfish into CPlusPlus
2012-01-16 22:27:55 +05:30
Siteshwar Vashisht
140ead65b6
Converted all auto completion calls (on pressing tab) to use std::vector<completion_t>, bugs are yet to be fixed
2012-01-16 22:26:47 +05:30
Peter Ammon
203c749e6c
Improved const-correctness, eliminating warnings.
...
Migrated some int to size_t
2012-01-14 22:00:00 -08:00
ridiculousfish
8d2f107d61
Some changes to migrate towards C++ and a multithreaded model
2011-12-26 19:18:46 -08:00
Grissiom
c6372a1b3f
remove trailing spaces
...
This is done by `sed -i -e 's/[ \t]*$//' *.[c,h]`, which should not
introduce any functionality change.
2010-09-18 09:51:16 +08:00
axel
ee94424b0f
Add the possibility for functions which do not shadow the arguments of the calling function
...
darcs-hash:20070422221033-ac50b-d9544c87d0ddab10f7f503b5a1707292f266efe4.gz
2007-04-23 08:10:33 +10:00