summaryrefslogtreecommitdiff
path: root/modules/language/python/module/string.scm
diff options
context:
space:
mode:
Diffstat (limited to 'modules/language/python/module/string.scm')
-rw-r--r--modules/language/python/module/string.scm13
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