diff options
Diffstat (limited to 'modules/language/python/module/string.scm')
-rw-r--r-- | modules/language/python/module/string.scm | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/modules/language/python/module/string.scm b/modules/language/python/module/string.scm index d867226..fe0ccc8 100644 --- a/modules/language/python/module/string.scm +++ b/modules/language/python/module/string.scm @@ -54,15 +54,18 @@ ((_ fill a) (f s a (list fill))))) -(define (convert-string s format-str) +(define (convert-string format-str s) (match (with-fluids ((*whitespace* f-true)) (stis-parse format-str (f-seq formatSpec f-eof))) ((align sign sharp zero width comma rec type) (if width (get-align s align width "") - s)))) + s)) + (_ (raise (ValueError (+ "wrong format " format-str)))))) -(set! (@@ (language python string) format) convert-string) +(set! (@@ (language python string) format) + (lambda (f s) + (py-format s f))) (define (gen-sign s sign) (let lp ((sign sign)) @@ -87,7 +90,7 @@ (lambda (s s-sign) (let* ((prec (if prec prec 6)) (s (let lp ((type type)) - (match type + (pk (match type (#f (lp "g")) ("f" @@ -131,7 +134,7 @@ ("%" (set s (* s 100)) - (+ (lp "f") "%")))))) + (+ (lp "f") "%"))))))) (if width (if zero |