diff options
Diffstat (limited to 'modules/language/python/string.scm')
-rw-r--r-- | modules/language/python/string.scm | 10 |
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 |