Hi there,

I decided that it would be good to make sure that I am up-to-date with Gambit 4.4 before I posted my web framework here for those who have expressed an interest and I am finding a destructive interaction when using the c-lambda form.

With the code in the sequel and Gambit 4.4.0, if I compile thusly:

$ gsc -:s -link bug.gambit
*** ERROR IN MAP -- invalid syntax ()

but it compiles fine if I omit the -:s option. Now obviously, the example does not require syntax-rules macros, but the full framework certainly does. Is there a known incompatibility here? The text concerning define-syntax hints at such a possibility, but the actual interaction is unclear.

david
--
GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt

; Null module for: Prelude
(c-declare
  "
#include <sys/time.h>
#include <time.h>
")

(c-define-type timeval (struct "timeval"))
(c-define-type timeval* (pointer timeval))

(define
  make-timeval
  (c-lambda
    ()
    timeval*
    "___result_voidstar = ___EXT(___alloc_mem)(sizeof(struct timeval));"))

(define
  timeval.tv_sec
  (c-lambda
    (timeval*)
    int32
    " ___result = ___arg1->tv_sec;"))

(define
  timeval.tv_usec
  (c-lambda
    (timeval*)
    int32
    "___result = ___arg1->tv_usec;"))