fix: make Symbol.prefix work on qualified symbols (#1286)

This commit makes it so that `Symbol.prefix` can take qualified symbols
as prefix arguments, e.g.

`(Symbol.prefix 'Foo.Bar 'baz) => 'Foo.Bar.baz`
This commit is contained in:
Scott Olsen 2021-07-29 02:26:31 -04:00 committed by GitHub
parent cbdf425247
commit 98acdb53e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -614,6 +614,8 @@ commandSymConcat ctx a =
commandSymPrefix :: BinaryCommandCallback
commandSymPrefix ctx (XObj (Sym (SymPath [] prefix) _) _ _) (XObj (Sym (SymPath [] suffix) st) i t) =
pure (ctx, Right (XObj (Sym (SymPath [prefix] suffix) st) i t))
commandSymPrefix ctx (XObj (Sym (SymPath ps prefix) _) _ _) (XObj (Sym (SymPath [] suffix) st) i t) =
pure (ctx, Right (XObj (Sym (SymPath (ps++[prefix]) suffix) st) i t))
commandSymPrefix ctx x (XObj (Sym (SymPath [] _) _) _ _) =
pure $ evalError ctx ("Cant call `prefix` with " ++ pretty x) (xobjInfo x)
commandSymPrefix ctx _ x =