~ chicken-core (chicken-5) 570e398f10571036f9b4972f24ed80e3dc65c968


commit 570e398f10571036f9b4972f24ed80e3dc65c968
Author:     Evan Hanson <evhan@foldling.org>
AuthorDate: Sun May 22 17:35:00 2016 +1200
Commit:     Evan Hanson <evhan@foldling.org>
CommitDate: Sun May 22 17:50:37 2016 +1200

    Add +plus-signs+ to list constants in c-platform
    
    This is a workaround for #1286, which causes the constant definition of
    `extended-bindings` to be ignored and the (null, default) value from
    core to be used instead.

diff --git a/c-platform.scm b/c-platform.scm
index 9d596dc3..f95a2380 100644
--- a/c-platform.scm
+++ b/c-platform.scm
@@ -143,19 +143,19 @@
     list-ref abs char-ready? peek-char list->string string->list
     current-input-port current-output-port) )
 
-(define-constant flonum-bindings
+(define-constant +flonum-bindings+
   (map (lambda (x) (symbol-append 'chicken.flonum# x))
        '(fp/? fp+ fp- fp* fp/ fp> fp< fp= fp>= fp<= fpmin fpmax fpneg fpgcd
 	 fpfloor fpceiling fptruncate fpround fpsin fpcos fptan fpasin fpacos
 	 fpatan fpatan2 fpexp fpexpt fplog fpsqrt fpabs fpinteger?)))
 
-(define-constant fixnum-bindings
+(define-constant +fixnum-bindings+
   (map (lambda (x) (symbol-append 'chicken.fixnum# x))
        '(fx* fx*? fx+ fx+? fx- fx-? fx/ fx/? fx< fx<= fx= fx> fx>= fxand
 	 fxeven? fxgcd fxior fxlen fxmax fxmin fxmod fxneg fxnot fxodd?
 	 fxrem fxshl fxshr fxxor)))
 
-(define-constant extended-bindings
+(define-constant +extended-bindings+
   '(bignum? cplxnum? fixnum? flonum? ratnum?
     chicken.bitwise#integer-length
     chicken.bitwise#bitwise-and chicken.bitwise#bitwise-not
@@ -217,7 +217,7 @@
     chicken.format#printf chicken.format#sprintf chicken.format#fprintf))
 
 (set! default-extended-bindings
-  (append fixnum-bindings flonum-bindings extended-bindings))
+  (append +fixnum-bindings+ +flonum-bindings+ +extended-bindings+))
 
 (set! internal-bindings
   '(##sys#slot ##sys#setslot ##sys#block-ref ##sys#block-set!
Trap