Fixes exists? to work with modules

This commit is contained in:
sloum 2022-11-26 18:43:37 +00:00
parent bbbb1daa6c
commit 4b815a6a2f
2 changed files with 19 additions and 2 deletions

View File

@ -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

View File

@ -18,7 +18,7 @@ import (
ln "github.com/peterh/liner"
)
const version = "1.2.10"
const version = "1.2.11"
const globalLibPath = "/usr/local/lib/slope/modules/"