diff --git a/nix-repl.cc b/nix-repl.cc index 474ad4fc9..1077f5d8f 100644 --- a/nix-repl.cc +++ b/nix-repl.cc @@ -250,12 +250,14 @@ static int runProgram(const string & program, const Strings & args) bool isVarName(const string & s) { - // FIXME: not quite correct. + if (s.size() == 0) return false; + char c = s[0]; + if ((c >= '0' && c <= '9') || c == '-' || c == '\'') return false; for (auto & i : s) if (!((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z') || (i >= '0' && i <= '9') || - i == '_' || i == '\'')) + i == '_' || i == '-' || i == '\'')) return false; return true; }