summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/eval_env.cc3
-rw-r--r--src/parsers.cc3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/eval_env.cc b/src/eval_env.cc
index a5127d3..fa5e35b 100644
--- a/src/eval_env.cc
+++ b/src/eval_env.cc
@@ -58,6 +58,9 @@ bool EvalString::Parse(const string& input, string* err, size_t* err_index) {
} else if (start < input.size() && input[start] == '$') {
parsed_.push_back(make_pair("$", RAW));
end = start + 1;
+ } else if (start < input.size() && input[start] == ' ') {
+ parsed_.push_back(make_pair(" ", RAW));
+ end = start + 1;
} else {
for (end = start; end < input.size(); ++end) {
char c = input[end];
diff --git a/src/parsers.cc b/src/parsers.cc
index 4920496..97fa4a6 100644
--- a/src/parsers.cc
+++ b/src/parsers.cc
@@ -232,6 +232,9 @@ Token::Type Tokenizer::PeekToken() {
if (IsIdentChar(*cur_)) {
while (cur_ < end_ && IsIdentChar(*cur_)) {
+ if (*cur_ == '$' && cur_ + 1 < end_ && cur_[1] == ' ') {
+ ++cur_;
+ }
++cur_;
}
token_.end_ = cur_;