~ chicken-core (master) 53e0f64f6b4c392c3d57f181f6c2063196f6cef5
commit 53e0f64f6b4c392c3d57f181f6c2063196f6cef5
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Wed Dec 10 22:05:29 2025 +0100
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Wed Dec 10 22:05:29 2025 +0100
fix line terminators
diff --git a/.gitignore b/.gitignore
index aa42fbe0..82a4d40b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -95,7 +95,7 @@
/chicken.eval.import.scm
/chicken.file.import.scm
/chicken.file.posix.import.scm
-/chicken.version.import.scm
+/chicken.version.import.scm
/chicken.fixnum.import.scm
/chicken.flonum.import.scm
/chicken.format.import.scm
diff --git a/NEWS b/NEWS
index f3822211..6a5ea4dd 100644
--- a/NEWS
+++ b/NEWS
@@ -81,7 +81,7 @@
separation.
- Added `expand1' to (chicken syntax) module for expanding a macro
only once, also added the ",x1" command to "csi" for this.
- - Added the (chicken version) module.
+ - Added the (chicken version) module.
- Syntax expander:
- `syntax-rules' attempts to better support tail patterns with ellipses
diff --git a/README b/README
index 4d8ac78e..4571a3e3 100644
--- a/README
+++ b/README
@@ -342,7 +342,7 @@ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/
| | |-- chicken.tcp.import.so
| | |-- chicken.time.import.so
| | |-- chicken.time.posix.import.so
- | | |-- chicken.version.import.so
+ | | |-- chicken.version.import.so
| | |-- scheme.file.import.so
| | |-- scheme.process-context.import.so
| | |-- scheme.time.import.so
diff --git a/extras.scm b/extras.scm
index c91a1ba9..d58c38ad 100644
--- a/extras.scm
+++ b/extras.scm
@@ -484,15 +484,15 @@
;;; Version comparison (used for egg versions)
-(module chicken.version (version>=?)
-
-(import scheme)
-(import (chicken base)
+(module chicken.version (version>=?)
+
+(import scheme)
+(import (chicken base)
(chicken string)
(chicken fixnum))
-
-(define (version>=? v1 v2)
- (define (version->list s)
+
+(define (version>=? v1 v2)
+ (define (version->list s)
(map (lambda (x) (or (string->number x) x))
(let ((len (string-length s)))
(let loop ((start 0) (pos 0))
@@ -504,19 +504,19 @@
(else (loop start (fx+ pos 1))))))))
(##sys#check-string v1 'version>=?)
(##sys#check-string v2 'version>=?)
- (let loop ((p1 (version->list v1))
- (p2 (version->list v2)))
- (cond ((null? p1) (null? p2))
- ((null? p2))
- ((number? (car p1))
- (and (number? (car p2))
- (or (> (car p1) (car p2))
- (and (= (car p1) (car p2))
- (loop (cdr p1) (cdr p2))))))
- ((number? (car p2)))
- ((string>? (car p1) (car p2)))
+ (let loop ((p1 (version->list v1))
+ (p2 (version->list v2)))
+ (cond ((null? p1) (null? p2))
+ ((null? p2))
+ ((number? (car p1))
+ (and (number? (car p2))
+ (or (> (car p1) (car p2))
+ (and (= (car p1) (car p2))
+ (loop (cdr p1) (cdr p2))))))
+ ((number? (car p2)))
+ ((string>? (car p1) (car p2)))
(else
- (and (string=? (car p1) (car p2))
+ (and (string=? (car p1) (car p2))
(loop (cdr p1) (cdr p2)))))))
-
-) ;; end module
+
+) ;; end module
diff --git a/manual/Module (chicken type) b/manual/Module (chicken type)
index d585cd53..46f6b128 100644
--- a/manual/Module (chicken type)
+++ b/manual/Module (chicken type)
@@ -9,4 +9,4 @@ The functionality in this module is available by default. See
---
Previous: [[Module (chicken time posix)]]
-Next: [[Module (chicken version)]]
+Next: [[Module (chicken version)]]
diff --git a/tests/version-module-tests.scm b/tests/version-module-tests.scm
index e5dd000b..914e66c1 100644
--- a/tests/version-module-tests.scm
+++ b/tests/version-module-tests.scm
@@ -1,29 +1,29 @@
-(import (chicken eval)
- (chicken load)
- (chicken version))
-
-(cond-expand
- (compiling
- (include "test.scm") )
- (else
- (load-relative "test.scm")))
-
-(test-begin "chicken.version")
-
-(test-assert "0 >= 0" (version>=? "0" "0"))
-(test-assert "1 >= 0" (version>=? "1" "0"))
-(test-assert "1.0 >= 0.0.1" (version>=? "1.0" "0.0.1"))
-(test-assert "1.0 >= 0.1.1" (version>=? "1.0" "0.1.1"))
-(test-assert "0.0.0 >= 0.0.0" (version>=? "0.0.0" "0.0.0"))
-(test-assert "0.0.0 >= 0.0" (version>=? "0.0.0" "0.0"))
-(test-assert "0.0.1 >= 0.0.0" (version>=? "0.0.1" "0.0.0"))
-(test-assert "1.0.0 >= 0.0.0" (version>=? "1.0.0" "0.0.0"))
-(test-assert "1.0.0 >= 0.0.0b" (version>=? "1.0.0" "0.0.0b"))
-(test-assert "1.0.0b >= 1.0.0" (version>=? "1.0.0b" "1.0.0"))
-(test-assert "1.0.0 >= 0.9.9-rc1" (version>=? "1.0.0" "0.9.9-rc1"))
-(test-assert "1.10 >= 1.09" (version>=? "1.10" "1.09"))
-(test-assert "1.10.2 >= 1.09.2" (version>=? "1.10.2" "1.09.2"))
-
-(test-end "chicken.version")
+(import (chicken eval)
+ (chicken load)
+ (chicken version))
+
+(cond-expand
+ (compiling
+ (include "test.scm") )
+ (else
+ (load-relative "test.scm")))
+
+(test-begin "chicken.version")
+
+(test-assert "0 >= 0" (version>=? "0" "0"))
+(test-assert "1 >= 0" (version>=? "1" "0"))
+(test-assert "1.0 >= 0.0.1" (version>=? "1.0" "0.0.1"))
+(test-assert "1.0 >= 0.1.1" (version>=? "1.0" "0.1.1"))
+(test-assert "0.0.0 >= 0.0.0" (version>=? "0.0.0" "0.0.0"))
+(test-assert "0.0.0 >= 0.0" (version>=? "0.0.0" "0.0"))
+(test-assert "0.0.1 >= 0.0.0" (version>=? "0.0.1" "0.0.0"))
+(test-assert "1.0.0 >= 0.0.0" (version>=? "1.0.0" "0.0.0"))
+(test-assert "1.0.0 >= 0.0.0b" (version>=? "1.0.0" "0.0.0b"))
+(test-assert "1.0.0b >= 1.0.0" (version>=? "1.0.0b" "1.0.0"))
+(test-assert "1.0.0 >= 0.9.9-rc1" (version>=? "1.0.0" "0.9.9-rc1"))
+(test-assert "1.10 >= 1.09" (version>=? "1.10" "1.09"))
+(test-assert "1.10.2 >= 1.09.2" (version>=? "1.10.2" "1.09.2"))
+
+(test-end "chicken.version")
(test-exit)
diff --git a/types.db b/types.db
index 9998a93c..e938cc42 100644
--- a/types.db
+++ b/types.db
@@ -2464,8 +2464,8 @@
(chicken.tcp#tcp-read-timeout (#(procedure #:clean #:enforce) chicken.tcp#tcp-read-timeout (#!optional (or false integer)) (or false integer)))
(chicken.tcp#tcp-write-timeout (#(procedure #:clean #:enforce) chicken.tcp#tcp-write-timeout (#!optional (or false integer)) (or false integer)))
-;; version
-(chicken.version#version>=? (#(procedure #:pure #:foldable) chicken.version#version>=? (* *) boolean))
+;; version
+(chicken.version#version>=? (#(procedure #:pure #:foldable) chicken.version#version>=? (* *) boolean))
;; Undocumented internal module, only here to have the deprecation warning because some eggs use it
(chicken.compiler.support#read/source-info deprecated)
Trap