aboutsummaryrefslogtreecommitdiff
path: root/command.cc
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-02-18 18:18:54 +0900
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2016-02-22 16:19:42 +0900
commitc9b9e5eea8b477a103cdec951ef2a299f9cd49ba (patch)
treee28f4e11d2e0e15a01082c10f05038f67d298946 /command.cc
parenta67fba3bf217ece75b66cb9adb6539e9d098ce9c (diff)
[C++] Associate global variables with Symbols directly
Diffstat (limited to 'command.cc')
-rw-r--r--command.cc7
1 files changed, 3 insertions, 4 deletions
diff --git a/command.cc b/command.cc
index ac7fadd..f75a8a0 100644
--- a/command.cc
+++ b/command.cc
@@ -171,12 +171,11 @@ void ParseCommandPrefixes(StringPiece* s, bool* echo, bool* ignore_error) {
CommandEvaluator::CommandEvaluator(Evaluator* ev)
: ev_(ev) {
- Vars* vars = ev_->mutable_vars();
#define INSERT_AUTO_VAR(name, sym) do { \
Var* v = new name(this, sym); \
- (*vars)[Intern(sym)] = v; \
- (*vars)[Intern(sym"D")] = new AutoSuffixDVar(this, sym"D", v); \
- (*vars)[Intern(sym"F")] = new AutoSuffixFVar(this, sym"F", v); \
+ Intern(sym).SetGlobalVar(v); \
+ Intern(sym"D").SetGlobalVar(new AutoSuffixDVar(this, sym"D", v)); \
+ Intern(sym"F").SetGlobalVar(new AutoSuffixFVar(this, sym"F", v)); \
} while (0)
INSERT_AUTO_VAR(AutoAtVar, "@");
INSERT_AUTO_VAR(AutoLessVar, "<");