Opened 15 years ago
Closed 15 years ago
#206 closed defect (fixed)
number->string in numbers egg does not fail correctly
Reported by: | Christian Kellermann | Owned by: | sjamaan |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | extensions | Version: | |
Keywords: | numbers | Cc: | sjamaan |
Estimated difficulty: |
Description
(number->string "7") -> #f
(use numbers)
(number->string "7" 3) -> 7
I will try to come up with a patch.
Change History (6)
comment:1 Changed 15 years ago by
Cc: | sjamaan added |
---|---|
Milestone: | 4.5.0 |
comment:2 Changed 15 years ago by
comment:3 Changed 15 years ago by
When calling the core version base should be passed to it too:
Index: numbers.scm
===================================================================
--- numbers.scm (revision 17731)
+++ numbers.scm (working copy)
@@ -1670,7 +1670,7 @@
(if (and m (pair? (cdr m)) (pair? (cadr m)))
(fin (make-complex 0 (real sub (caadr m) (cadadr m))))
(fin (or (real str start len)
- (string->number-0 str) )) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
+ (string->number-0 str base) )) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
comment:4 Changed 15 years ago by
And here is a test case for it:
Index: numbers-test.scm
===================================================================
--- numbers-test.scm (revision 17731)
+++ numbers-test.scm (working copy)
@@ -447,6 +447,7 @@
(test "fix" 123 (string->number "123"))
(test "fix/base" 255 (string->number "ff" 16))
(test "fix/base-o" 14 (string->number "16" 8))
+ (test "fix/wrong-base" #f (string->number "123" 3))
(test "flo" 0.0 (string->number "#"))
(test "flo" 123.23 (string->number "123.23"))
(test "flo2" 100.23 (string->number "1##.23"))
comment:5 Changed 15 years ago by
Owner: | set to sjamaan |
---|---|
Status: | new → accepted |
Patches are applied (with a small change in the tests)
Thank you!
Please close the ticket if this is alright by you.
comment:6 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
Replying to ckeen:
This of course is nonsense! Sorry for adding to the confusion.
The correct and still failing case is
(string->number)