Fixes exists? to work with modules
This commit is contained in:
parent
bbbb1daa6c
commit
4b815a6a2f
|
@ -501,7 +501,24 @@ func eval(exp expression, en *env) (value expression) {
|
|||
if ok {
|
||||
_, err = en.Find(symbol(String(eval(e[i+1], en), false)))
|
||||
} else {
|
||||
_, err = en.Find(symbol(String(e[i+1], false)))
|
||||
environ := en
|
||||
symbolAsString := String(e[i+1], false)
|
||||
if i := strings.Index(symbolAsString, "::"); i >= 0 {
|
||||
modname := symbolAsString[:i]
|
||||
alias, ok := altnamespaces[modname]
|
||||
if !ok {
|
||||
e, ok2 := namespaces[modname]
|
||||
if !ok2 {
|
||||
return false
|
||||
}
|
||||
environ = &e
|
||||
} else {
|
||||
e := namespaces[alias]
|
||||
environ = &e
|
||||
}
|
||||
symbolAsString = symbolAsString[i+2:]
|
||||
}
|
||||
_, err = environ.Find(symbol(symbolAsString))
|
||||
}
|
||||
if doPanic {
|
||||
panicOnException = true
|
||||
|
|
Loading…
Reference in New Issue