diff --git a/stdlib/filesys.go b/stdlib/filesys.go index 09e3c6b..83a45ef 100644 --- a/stdlib/filesys.go +++ b/stdlib/filesys.go @@ -24,7 +24,15 @@ import ( ) func cd(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token { - in = in.Eval(ft, vt, false) + in = in.Eval(ft, vt, true) + + if in == nil { + log.Log(log.ERR, + "arguments to cd evaluated to nil!", + "cd") + return nil + } + if in.Tag == ast.LIST { log.Log(log.ERR, "Couldnt change dir to a list", "cd") return nil