Index: pstk.scm =================================================================== --- pstk.scm (revision 24318) +++ pstk.scm (working copy) @@ -155,7 +155,9 @@ ) (import scheme chicken posix) - (use posix) + (use posix + (only data-structures string-intersperse) + (only srfi-13 string-concatenate)) (define *wish-program* "tclsh8.5") (define *wish-debug-input* #f) @@ -247,10 +249,7 @@ (ttk-widget-map '()) (tk-init-string - (apply string-append - (apply append - (map (lambda (s) - (list s (string #\newline))) + (string-intersperse '("package require Tk" "if {[package version tile] != \"\"} {" " package require tile" @@ -321,7 +320,8 @@ " puts \"(return \\\"[string map [list \\\\ \\\\\\\\ \\\" \\\\\\\"] $result]\\\")\"" " }" " flush stdout" - "}"))))) + "}") + nl)) (report-error (lambda (x) @@ -380,7 +380,7 @@ ((null? x) "()") ((pair? x) (string-append "(" - (apply string-append + (string-concatenate (improper-list->string x #t)) ")")) ((eof-object? x) "#") @@ -615,7 +615,7 @@ (scheme-arglist->tk-argstring (lambda (args) - (apply string-append + (string-concatenate (map scheme-arg->tk-arg args)))) @@ -662,7 +662,7 @@ ((collect-chars (lambda (c s) (cond ((or (eof-object? c) (char=? c #\newline)) - (apply string (reverse s))) + (reverse-list->string s)) (else (collect-chars (read-char in) (cons c s)))))) (first-char (read-char in)))