summaryrefslogtreecommitdiff
path: root/modules/language/python/bytes.scm
diff options
context:
space:
mode:
authorStefan Israelsson Tampe <stefan.itampe@gmail.com>2018-04-11 22:02:17 +0200
committerStefan Israelsson Tampe <stefan.itampe@gmail.com>2018-04-11 22:02:17 +0200
commitc653e3aca875247001fc49ac3c7b51f3b4771698 (patch)
treeb25049ca0e4e1d160838840095fe484299f34946 /modules/language/python/bytes.scm
parent6ab1402a897e23bd32ab97ad841a8d2615ff78e1 (diff)
io compiles
Diffstat (limited to 'modules/language/python/bytes.scm')
-rw-r--r--modules/language/python/bytes.scm8
1 files changed, 7 insertions, 1 deletions
diff --git a/modules/language/python/bytes.scm b/modules/language/python/bytes.scm
index bd590b8..2acb9e5 100644
--- a/modules/language/python/bytes.scm
+++ b/modules/language/python/bytes.scm
@@ -13,7 +13,13 @@
#:use-module (language python bool)
#:use-module (language python persist)
#:export (<py-bytes> pybytes-listing bytes bytearray bytes->bytevector
- <py-bytearray> pybytesarray-listing))
+ <py-bytearray> pybytesarray-listing scm-bytevector))
+
+(define (scm-bytevector x)
+ (cond
+ ((bytevector? x) x)
+ ((is-a? x <py-bytes> ) (slot-ref x 'bytes))
+ ((is-a? x <py-bytearray>) (slot-ref x 'vec))))
(define (bytes->bytevector x) (slot-ref x 'bytes))
(define-syntax-rule (aif it p x y) (let ((it p)) (if it x y)))