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
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
ridiculousfish
2f33e5919d
Better error messages for EDITOR=vim git...
type commands.
...
https://github.com/fish-shell/fish-shell/issues/809
2013-09-30 14:55:25 -07:00
ridiculousfish
cbe615224d
Make tok_last_type return an enum token_type instead of int
2013-09-30 13:57:36 -07:00
ridiculousfish
46452e7634
Improve error messages for double square brackets -
...
https://github.com/fish-shell/fish-shell/issues/875
2013-09-11 14:22:16 -07:00
Konrad Borowski
6709d1067d
Recommend eval when using variable as command.
2013-09-04 20:43:40 +02: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
e849beabba
Initial work towards various IO cleanups with an eye to fixing https://github.com/fish-shell/fish-shell/issues/110
2013-08-19 18:06:24 -07:00
Konrad Borowski
58ad04b61c
Avoid standard command not found message when command-not-found is found
...
Squashed commit of the following:
commit c208bc30b7747b3743212483b3dd7e3f90819f49
Merge: 97bea94
2633372
Author: Konrad Borowski <glitchmr@myopera.com>
Date: Fri Jul 19 09:56:12 2013 +0200
Merge branch 'command-not-found' of git://github.com/GlitchMr/fish-shell into command-not-found
commit 26333721b9
Author: Konrad Borowski <glitchmr@myopera.com>
Date: Fri Jul 19 09:55:13 2013 +0200
Fix command_not_found when not found
commit db34460bb5
Author: Konrad Borowski <glitchmr@myopera.com>
Date: Wed Jul 17 13:41:57 2013 +0200
Avoid showing standard command not found message when possible
In bash, command-not-found handler causes the standard messages to
not appear. Because of events model in fish, it isn't really an
option, so I moved the standard command not found message to
fish function. This way, the messages aren't repeated, and the
standard command not found message appears only when handler
couldn't be found.
2013-07-19 09:56:47 +02: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
ridiculousfish
09b0213738
Fix for quoted variables in command position error message
...
https://github.com/fish-shell/fish-shell/issues/775
2013-06-08 20:08:54 -07:00
ridiculousfish
94b1d58cc2
Additional changes related to https://github.com/fish-shell/fish-shell/pull/592
2013-02-28 10:25:32 -08:00
Cheer Xiao
76f715c486
add class scoped_push to automatically restore variable on function exit
2013-02-26 12:17:28 -08:00
ridiculousfish
f109d535b1
Add a null check to avoid passing null to io_chain_t::push_back
...
https://github.com/fish-shell/fish-shell/issues/590
2013-02-21 12:44:01 -08: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
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
ridiculousfish
98a17f4046
Remove some functions which were rendered trivial by xiaq's changes. Make io_file_t take its path directly. Make io_buffer_t no longer use a shared_ptr for its data.
2013-01-19 10:59:43 -08:00
Cheer Xiao
4b6bd7cae5
Split out io_file_t
2013-01-17 15:55:05 +08:00
Cheer Xiao
6f35792c74
Split out io_fd_t
2013-01-17 14:58:53 +08:00
Cheer Xiao
f1b375b042
Split out io_close_t
2013-01-17 14:58:53 +08:00
Cheer Xiao
4e672427bc
parser.cpp: Put off initialization of new_io until mode is known
2013-01-17 14:58:53 +08:00
ridiculousfish
214ef3dd0b
Formatting
2013-01-16 14:50:08 -08:00
Jan Kanis
640beafa8c
fix a memory leak in profiling, add a profiling test
2013-01-14 01:38:05 +01: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
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
Cheer Xiao
b66233de78
Revert "Revert shared_ptr<io_data_t> changes until kinks are ironed out"
...
This reverts commit 77f1b1f0fe
.
2013-01-11 14:18:10 -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
77f1b1f0fe
Revert shared_ptr<io_data_t> changes until kinks are ironed out
...
https://github.com/fish-shell/fish-shell/pull/487
Revert "Merge branch 'oo-io' of git://github.com/xiaq/fish-shell into xiaq-oo-io"
This reverts commit f3c8f535a4
, reversing
changes made to b02f6cf3bc
.
Also reverts ac023f7588
and a79d3c680c
2013-01-04 02:05:30 -08:00
Cheer Xiao
a9ada13a23
Use shared_ptr to manage io_data_t*.
2012-12-31 23:54:17 +08:00
ridiculousfish
37bdb20092
Make event_block_t.event not a reference
...
Stylistic tweaks
2012-12-22 12:40:34 -08:00
ridiculousfish
8a66ba6c35
Merge branch 'event-bug-test' of git://github.com/JanKanis/fish-shell into JanKanis-event-bug-test
2012-12-22 12:20:41 -08:00
Jan Kanis
8a446f43ff
include fixes and suggestions from code review
2012-12-22 18:38:28 +01:00
ridiculousfish
0b1e371880
Changes to work recognition per https://github.com/fish-shell/fish-shell/issues/384
...
Word movement should be very similar to fish 1.x
backward-kill-word remains more liberal, but now stops at any of {,'"=}
2012-12-20 17:37:09 -08:00
Jan Kanis
30392bf66a
reference'ize event.cpp/h
2012-12-20 16:13:14 +01:00
Jan Kanis
af3059ab2a
Allow 'emit' to accept event arguments
2012-12-20 16:13:00 +01:00
Cheer Xiao
09b1eee5d0
Random fixes to comments.
2012-12-16 12:23:24 +08:00
ridiculousfish
7117c4a5ee
Remove tok_destroy
2012-11-21 22:14:28 -08:00
ridiculousfish
f545fb2491
Work towards refactoring tokenizer to be a real object
2012-11-21 17:48:35 -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
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
91e1d59869
Fix for issue where else if would fail to pass arguments to commands. Also implements short-circuiting for and/or so that non-existent commands don't produce error messages.
...
Fixes https://github.com/fish-shell/fish-shell/issues/345
Fixes https://github.com/fish-shell/fish-shell/issues/349
2012-10-17 01:07:34 -07: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
de5223db66
Improve documentation and error reporting for elseif.
2012-09-01 02:14:13 -07:00
ridiculousfish
cc1395797e
First stab at elseif implementation
2012-09-01 01:46:14 -07:00