summaryrefslogtreecommitdiff
path: root/modules/language/python/string.scm
diff options
context:
space:
mode:
Diffstat (limited to 'modules/language/python/string.scm')
-rw-r--r--modules/language/python/string.scm10
1 files changed, 6 insertions, 4 deletions
diff --git a/modules/language/python/string.scm b/modules/language/python/string.scm
index 4261a0a..9a58712 100644
--- a/modules/language/python/string.scm
+++ b/modules/language/python/string.scm
@@ -489,15 +489,17 @@
(define-py (py-translate translate s table . l)
(let* ((n (len s))
(w (make-string n))
- (t (if (eq? table None) #f table))
+ (t (if (eq? table None)
+ #f
+ table))
(d (match l (() #f) ((x) x))))
(define (tr ch)
(define (e)
(if t
(let ((i (char->integer ch)))
- (if (< i (string-length t))
- (string-ref t i)
- ch))
+ (catch #t
+ (lambda () (integer->char (pylist-ref t i)))
+ (lambda x ch)))
ch))
(if d