diff --git a/impls/nim/types.nim b/impls/nim/types.nim index 0618a247..a5a8ec33 100644 --- a/impls/nim/types.nim +++ b/impls/nim/types.nim @@ -119,7 +119,8 @@ proc symbol_q*(xs: varargs[MalType]): MalType {.procvar.} = boolObj xs[0].kind == Symbol proc keyword*(xs: varargs[MalType]): MalType {.procvar.} = - keyword(xs[0].str) + if 0 < xs[0].str.len and xs[0].str[0] == '\xff': xs[0] + else: keyword(xs[0].str) proc keyword_q*(xs: varargs[MalType]): MalType {.procvar.} = boolObj(xs[0].kind == String and xs[0].str.len > 0 and xs[0].str[0] == '\xff')