~ chicken-core (chicken-5) 70c3e3b60ef07d4a20c66ba77ee0b3b337c4f312


commit 70c3e3b60ef07d4a20c66ba77ee0b3b337c4f312
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Sun Apr 3 17:12:28 2016 +1200
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Sun Apr 3 17:29:41 2016 +1200

    Add a simple test case for invalid string->number bases

diff --git a/tests/numbers-string-conversion-tests.scm b/tests/numbers-string-conversion-tests.scm
index 3c19c24d..c33b4787 100644
--- a/tests/numbers-string-conversion-tests.scm
+++ b/tests/numbers-string-conversion-tests.scm
@@ -12,6 +12,7 @@
 ;;; It also doesn't try to support Schemes which support *only* integers or
 ;;; *only* flonums (which is also allowed by R5RS).
 ;;;
+
 (use srfi-1 ports)
 
 (define the-nan (fp/ 0.0 0.0))
@@ -342,4 +343,11 @@
  ("#o1#/2" 4.0 6.0 "4.0" "4." "6.0" "6.")
  ("#b1#/2" #f)
  ("#b1#/10" 1.0 1.5 "1.0" "1." "1.5")
- )
\ No newline at end of file
+ )
+
+;; #1272 - Bases not in [2,36] throw errors.
+(let ((check-base (lambda (b)
+                    (string->number "123" b)
+                    (error "No error on invalid base" b))))
+  (condition-case (check-base 1)  ((exn type) 'ok))
+  (condition-case (check-base 37) ((exn type) 'ok)))
Trap