bug#52112: Compilation of macro returning record type fails
Jean Abou Samra <[email protected]>
| Newsgroups | gmane.lisp.guile.bugs |
|---|---|
| Message-ID | <[email protected]> |
Record types are self-evaluating: scheme@(guile-user)> (eval (make-record-type 'my-record '()) (current-module)) $1 = #<record-type my-record> Yet, when a macro returns a record type, Guile fails to byte-compile the code, even though the execution (via the evaluator) works fine. Here is a simple example: (define-macro (my-macro) (make-record-type 'my-record-2 '())) (display (my-macro)) (newline) Execution log: $ guile --no-auto-compile test.scm #<record-type my-record-2> $ guile test.scm ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0 ;;; or pass the --no-auto-compile argument to disable. ;;; compiling /home/jean/test.scm ;;; WARNING: compilation of /home/jean/test.scm failed: ;;; unhandled constant #<record-type my-record-2> #<record-type my-record-2> This is with Guile version 3.0.5.130-5a1e7.