aboutsummaryrefslogtreecommitdiff
path: root/src/interp/lisp-backend.boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/lisp-backend.boot')
-rw-r--r--src/interp/lisp-backend.boot8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/interp/lisp-backend.boot b/src/interp/lisp-backend.boot
index 8426a531..36075241 100644
--- a/src/interp/lisp-backend.boot
+++ b/src/interp/lisp-backend.boot
@@ -317,11 +317,13 @@ expandStrlt ['%strlt,x,y] ==
expandStrstc ['%strstc,x,y,z] ==
expandToVMForm ['%store,['%schar,x,y],z]
-expandBytevec2str ['%bytevec2str,x,y] ==
- ['COERCE,['SUBSEQ,expandToVMForm x,0,expandToVMForm y],quoteForm '%String]
+expandBytevec2str ['%bytevec2str,x] ==
+ ['MAP,quoteForm 'STRING, --FIXME: should be '%String, fix when SBCL is fixed.
+ ['FUNCTION,['LAMBDA,['c],['CODE_-CHAR,'c]]],expandToVMForm x]
expandStr2bytevec ['%str2bytevec,x] ==
- ['COERCE,expandToVMForm x,quoteForm ['%Vector,'%Byte]]
+ ['MAP,quoteForm ['%Vector,'%Byte],
+ ['FUNCTION,['LAMBDA,['c],['CHAR_-CODE,'c]]],expandToVMForm x]
-- bit vector operations
expandBitvecnot ['%bitvecnot,x] ==