~ chicken-core (chicken-5) 0c64540da8de435dd0cf8365e8ab3756c98bce22


commit 0c64540da8de435dd0cf8365e8ab3756c98bce22
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Fri Oct 28 13:56:55 2016 +1300
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Fri Oct 28 13:57:01 2016 +1300

    Remove use of `##sys#fudge` from setversion script
    
    Also, simplify buildversion handling and fix imports for chicken-5.

diff --git a/scripts/setversion b/scripts/setversion
index f1db588b..4656cf85 100755
--- a/scripts/setversion
+++ b/scripts/setversion
@@ -3,9 +3,9 @@
 exec csi -s "$0" "$@"
 |#
 
-(use srfi-1 utils posix irregex)
+(use data-structures files format io utils irregex)
 
-(define buildversion (->string (car (call-with-input-file "buildversion" read-all))))
+(define buildversion (with-input-from-file "buildversion" read))
 
 (define files '("README" "manual/The User's Manual"))
 
@@ -39,8 +39,9 @@ exec csi -s "$0" "$@"
 	  (irregex-match-substring m 4))))
 
 (define (main args)
-  (let ((major (##sys#fudge 41))
-	(minor (##sys#fudge 43)))
+  (let* ((version (parse-version (chicken-version)))
+	 (major (cadr version))
+	 (minor (caddr version)))
     (cond ((member "-set" args) =>
 	   (lambda (a)
 	     (set! buildversion (cadr a))
@@ -57,7 +58,7 @@ exec csi -s "$0" "$@"
 	     (set! minor min)
 	     (set! buildversion
 	       (conc maj "." min "." (add1 (string->number pl)) huh)) ) ) )
-    (with-output-to-file "buildversion" (cut display buildversion) binary:)
+    (with-output-to-file "buildversion" (cut print buildversion) binary:)
     (system* "cat buildversion")
     (let ([vstr (sprintf "version ~A" buildversion)])
       (for-each (cut patch <> (irregex "version [0-9][-.0-9a-zA-Z]+") vstr) files) )
Trap