diff options
author | Stefan Israelsson Tampe <stefan.itampe@gmail.com> | 2018-08-16 22:41:44 +0200 |
---|---|---|
committer | Stefan Israelsson Tampe <stefan.itampe@gmail.com> | 2018-08-16 22:41:44 +0200 |
commit | 6ae273a9f5a0bbc9c02627287c8b5f958fc2095f (patch) | |
tree | 5c0a05616acb6d9ea70eefcedc33cf65fd83b0d0 /modules/language/python/module/_python.scm | |
parent | 849f5d8389aecbe4c7152061b118f5f6b098b8ba (diff) |
improvements of optparse
Diffstat (limited to 'modules/language/python/module/_python.scm')
-rw-r--r-- | modules/language/python/module/_python.scm | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/modules/language/python/module/_python.scm b/modules/language/python/module/_python.scm index 2fac0a1..d9cb1c9 100644 --- a/modules/language/python/module/_python.scm +++ b/modules/language/python/module/_python.scm @@ -9,6 +9,8 @@ #:use-module (language python exceptions ) #:use-module ((language python module string ) #:select ()) #:use-module ((language python module io ) #:select (open)) + #:use-module ((language python module sys ) + #:select ((stdout . _stdout))) #:use-module (language python def ) #:use-module (language python for ) #:use-module (language python try ) @@ -57,10 +59,16 @@ (define vars py-dict) (define print - (case-lambda - (() ((@ (guile) display) "\n")) - ((x) ((@ (guile) display) x ) (print)) - (l ((@ (guile) display) l ) (print)))) + (lam ((= file _stdout) (* l)) + (if file (set! file (ref file '_port))) + (with-output-to-port file + (lambda () + (apply + (case-lambda + (() ((@ (guile) display) "\n")) + ((x) ((@ (guile) display) x ) (print)) + (l ((@ (guile) display) l ) (print))) + l))))) (define (repr x) ((@ (guile) format) #f "~a" x)) (define abs py-abs) |