Bug in define-macro

Tony Garnock-Jones <[email protected]> Mon, 14 Feb 2005 10:23:34 +0000
Newsgroups gmane.comp.java.sisc.devel
Message-ID <[email protected]>
Hi all. Attached is a brief demonstration of a problem in define-macro 
in SISC v1.10.0-alpha. The chief suspect is syntax-object->datum not 
removing annotations properly.

Regards,
   Tony
sisc-bug.txt (text/plain, 663 B)
(emit-annotations #t)
(emit-debugging-symbols #t)
(define-macro (x . y) `(list ',y))
(x 1 (2))

- expect ((1 (2)))
- get    ((1 #@(((line-number . 4) (column-number . 6) (source-file . "console")) . (2))))



(emit-annotations #f)
(emit-debugging-symbols #f)
(define-macro (x . y) `(list ',y))
(x 1 (2))

- expect ((1 (2)))
- get    ((1 (2)))



(define-macro (x . y) `(list ',y))
(x 1 (2))

- expect ((1 (2)))
- get    ((1 #@(((line-number . 2) (column-number . 6) (source-file . "console")) . (2))))



Note also that (sc-expand '(x 1 (2))) gives

  (list (#%quote (1 (2))))

with the default settings (both #t) for emit-annotations and
emit-debugging-symbols.