| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
We need to put all public headers into the include directory.
|
|
|
|
|
|
|
| |
Now the local built-in is not handled only in parser grammar so that
expansions can happen for the arguments. '=' is not checked in the local
and export built-in anymore because we do not generate empty AST for
"export foo".
|
|
|
|
|
| |
Now export built-in will call back to parser grammar in order to support
array definition.
|
|
|
|
|
| |
We keep the old style for some tests that behave differently depending
on different bash versions.
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/builtins/source_builtin.cpp
src/core/bash_ast.cpp
src/core/bash_ast.h
utils/instruo.cpp
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|/ /
| |
| |
| |
| |
| | |
Now make doxygen-doc doesn't show so many warnings. The documentation
for following things is not fixed: unit tests, private members, some
built-in constructors.
|
| |
| |
| |
| |
| |
| |
| | |
POSIX requires signed long integer for arithmetic expansion. $? is
implemented in the interpreter class now because POSIX doesn't require
the type of $? to be long. It would cause conversion in many places if
we used long for $?.
|
|\ \
| | |
| | |
| | |
| | | |
Conflicts:
src/builtins/builtin_exceptions.h
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|/ /
| |
| |
| |
| | |
We don't want to use only one exception everywhere. Now more exceptions
are added to improve the exception hierarchy.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
bashast/libbashWalker.g
src/core/interpreter.cpp
src/core/tests/interpreter_test.cpp
|
| | |
| | |
| | |
| | |
| | | |
The shopt built-in only changes additional shell optional behavior. So
we change the name to avoid conflicts with the set built-in.
|
| | | |
|
|/ /
| |
| |
| |
| | |
The interpreter_exception is part of our public API so we put it under
libbash namespace.
|
| |
| |
| |
| |
| | |
Note that we use boost::format to implement printf so it's not
completely the same as bash printf.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When there handle multiple input files (for example, source built-in is
called while interpreting), there will be multiple token streams. Then
the function index might not be correct as we don't know which stream
the function belongs to. Now both the AST and the function index are
stored to execute the function at the right index in the right stream.
Using single libbashWalker and changing the pointer of the ctns is not
working. The reason might be the internal data structures of
libbashWalker are broken after the function call. So a new libbashWalker
is created every time a function call is made. The current AST is saved
in std::stack because new functions may be defined during a function call.
|
| |
| |
| |
| |
| | |
The container for bash_options is changed to be std::map as shopt -p
prints out sorted values.
|
| |
| |
| |
| | |
We do not support declare -p without arguments for now.
|
| |
| |
| |
| |
| |
| | |
For a non-interactive shell, an error condition encountered by a special
built-in or other type of utility shall cause the shell to write a
diagnostic message to standard error and exit.
|
| |
| |
| |
| |
| |
| | |
We want every header file to be compilable on its own. The easiest way
to achieve this is to make sure that every one of them is the first .h
file #included in some .cpp.
|
|\ \
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/builtins/let_builtin.cpp
src/core/interpreter.cpp
|
| | |
| | |
| | |
| | |
| | | |
As we won't handle parser failure so it's safe to return 0 for this
built-in.
|
| | |
| | |
| | |
| | |
| | |
| | | |
-Wconversion -Wsign-conversion is turned on only for our library as
Paludis cannot get compiled with them. Code is fixed to respect these
flags.
|
| | |
| | |
| | |
| | |
| | | |
The author information can be found from git so just refer people
from that.
|
| | | |
|
|/ /
| |
| |
| |
| | |
We should use space to separate each value of the global variables. Now
this is fixed.
|
| | |
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
If the given script can not be parsed properly, source will return
1 rather than printing error message only. A test is added for
testing empty argument.
|
| | | |
|
| | | |
|