ridiculousfish
1130e4782d
Remove some unused defines
2014-01-12 00:11:29 -08:00
ridiculousfish
b34721b3f4
Miscellaneous optimizations to reduce string copying
2014-01-07 14:57:58 -08:00
ridiculousfish
993148552e
Support for Ctrl-C cancellation in new parser. Added tests for it too.
2014-01-02 16:19:33 -08:00
ridiculousfish
fb882f0b69
Support for stack overflow and infinite recursion detection in new
...
parser
2014-01-01 15:29:56 -08:00
ridiculousfish
7356a0f6c8
Clean up and rationalize error handling in parse_execution.cpp
2013-12-31 14:37:37 -08:00
ridiculousfish
a9787b769f
Support for implicit cd, no-exec, and the exit builtin. All tests now
...
pass (!). Error reporting still unsteady.
2013-12-29 16:23:26 -08:00
ridiculousfish
a42711e31c
Support for break/continue with new parser execution
2013-12-28 22:52:06 -08:00
ridiculousfish
c632307eaa
Make eval_node_at_offset return an error indication instead of the exit
...
status of the last command
2013-12-28 16:33:26 -08:00
ridiculousfish
0f9de11a67
Fix issues related to redirections and block level IO with new parser
2013-12-28 16:18:38 -08:00
ridiculousfish
6ce4b344e4
Hook up for statements, if statements, and function definition in new
...
parser
2013-12-27 01:38:43 -08:00
ridiculousfish
c1a13ae8bc
Fix a few errors identified by testing new parser
2013-12-26 13:36:43 -08:00
ridiculousfish
6536ffe178
Facilities for turning on new AST-based parser.
2013-12-26 13:24:10 -08:00
ridiculousfish
562946d055
Cleanup thrashing around in parser_t. New parser execution lives in
...
parse_execution.cpp
2013-12-26 12:55:10 -08:00
ridiculousfish
924b8cbe24
New ideas about how to use new parser for execution. Beginnings of
...
implementation.
2013-12-26 12:24:00 -08:00
ridiculousfish
5b1a532652
Factor execution aspects from parser_t to parse_execution_context_t .
...
Still searching for best way to use new parser for execution.
2013-12-24 13:17:24 -08:00
ridiculousfish
b6af3e51ab
Very early work in adopting new parser for actual execution of commands.
...
Not turned on yet.
2013-12-23 14:53:56 -08:00
ridiculousfish
ebc8bd6ff5
Update the backtrace call to pass a block index instead of a block,
...
fixing the build
2013-12-20 17:47:07 -08:00
ridiculousfish
ed70195c7e
Merge branch 'master' into ast
...
Conflicts:
function.cpp
parser.cpp
parser.h
2013-12-20 17:44:37 -08:00
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
739e529416
Initial flailing around trying to adopt new parser for actual execution
2013-12-20 14:37:40 -08:00
ridiculousfish
384987cd5b
Remove detect_errors2
2013-12-16 22:32:08 -08:00
ridiculousfish
3e9153d955
Clean up some error messages. Don't show the line in the error message
...
if it's the first line and we're interactive, since then it's obvious
2013-12-16 16:52:23 -08:00
ridiculousfish
0e421ea31d
Various cleanup and tweaking of backtrace messages
2013-12-16 15:33:20 -08:00
ridiculousfish
471f7f06f7
Fix for a busted assertion
2013-12-15 16:44:05 -08:00
ridiculousfish
5b24aac266
Initial work on backtrace support with new parser
2013-12-15 16:05:37 -08:00
ridiculousfish
5cf59de676
Finish rewriting detect_errors to use new parser. All tests now pass (!)
2013-12-12 18:18:07 -08:00
ridiculousfish
d5d9b9284a
Initial work towards rewriting detect_errors to use new parser.
...
Low-level tests currently pass; high level tests fail.
2013-12-11 18:34:28 -08:00
ridiculousfish
7a3f5afee7
Initial work towars improved error reporting. Tests currently fail.
2013-12-08 21:54:06 -08:00
ridiculousfish
925fe65dd8
Remove the indentation part of parser_t::test(). Rename it to
...
detect_errors().
2013-12-08 16:25:07 -08:00
ridiculousfish
dd0cc5ed9f
Rewriting indenting functionality to use new parser
2013-12-08 13:41:12 -08:00
ridiculousfish
34540babdb
Merge branch 'master' into ast
...
Conflicts:
complete.cpp
fish_tests.cpp
2013-11-24 23:21:00 -08:00
ridiculousfish
9f6223311e
Large cleanup and refactoring of unescape() function.
2013-11-24 22:58:39 -08:00
ridiculousfish
964c7e6f3b
Merge branch 'master' into ast
...
Conflicts:
complete.cpp
2013-10-27 13:37:14 -07:00
ridiculousfish
cf766b55cc
Fix formatting
2013-10-26 15:27:39 -07:00
ridiculousfish
dd91779442
Merge branch 'master' into ast_no_templates
...
Conflicts:
configure.ac
exec.cpp
2013-10-06 13:08:57 -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
ridiculousfish
551d2dfebd
Merge branch 'master' into ast_templates
...
Conflicts:
fish_tests.cpp
2013-07-21 14:04:06 -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
048f08080d
Rename expression.h to parse_tree.h and parse_exec.h
2013-06-09 14:21:24 -07:00
ridiculousfish
0a02e0db4b
Merge branch 'master' into parsed
2013-06-09 13:52:18 -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
d54346b205
Stuff
2013-06-01 22:14:47 -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