Subject: bug#46241: Guile Macros did not print the error-line-number ?

From: Ludovic Courtès <[email-masked]>
Date: Fri, 19 Feb 2021 16:14:07 +0100

Hi Joshua,

jbranso--- via Bug reports for GNU Guix <[email-masked]> skribis:

> Recently on irc, I posted an example of an incorrectly used
> define-record-type* NOT displaying an error line number.
>
> mdevos mentioned that this could potentially be fixed in (guix
> records), but it may also be a guile compile bug as well.
>
> First here is a (guix records) example:
>
> #+BEGIN_SRC scheme
> (use-modules (guix records))
>
> (define-record-type* <sway-bindsym>
>   sway-bindsym make-sway-bindsym
>   sway-bindsym?
>   (key-combo sway-bindsym-key-combo
>              (default "")))
>
> (display sway-bindsym)  ;; compile error at unknown location
> ;; (display (sway-bindsym))  this is one "correct" way to call this code
> #+END_SRC

Source location info is missing because currently (as of 3.0.5), Guile
keeps location info in the form of “source properties” only for lists.
The ‘sway-bindsym’ symbol above has no associated location info.

This may change in the near future as Andy has been rewriting ‘read’
(the Scheme “parser”) in Scheme, among other things.

Ludo’.