bug#39854: Not correct line and column numbers associated to function.

Ludovic Courtès <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
Hi,

Stefan Israelsson Tampe <[email protected]> skribis:

> Consider this source file: test.scm:
>
> (use-modules (language python def) (system syntax internal) ((oop dict)
> #:select (slask-it)))
>
> (define-syntax m
>   (lambda (x)
>     (syntax-case x ()
>       ((_ n m y)
>        (let* ((xx (syntax-expression x))
>               (yy (pk 'yy (source-properties xx)))
>               (zz (syntax-expression #'y))
>               (ww (pk 'ww (source-properties zz)))
>               (nn (assoc 'line   yy))
>               (mm (assoc 'column yy))
>               (ii (assoc 'line   ww))
>               (jj (assoc 'column ww)))
>          (if nn (set-cdr! nn (syntax->datum #'n)))
>          (if mm (set-cdr! mm (syntax->datum #'m)))
>          (if ii (set-cdr! ii (syntax->datum #'n)))
>          (if jj (set-cdr! jj (syntax->datum #'m)))
>          (set-source-properties! xx (pk yy))
>          (set-source-properties! zz (pk ww))
>          #'y)))))
>
> (define f (slask-it (lambda () 1)))
>
> ;;-----------------------------------------------------
>
> Never mind the m macro and concentrate on the last define of f. slask-it is
> an imported function
> and equivalent to (lambda (x) x) (just to make sure to annynmous f. loading
> this source file an d quiring f lead to
>
> cheme@(guile-user)> f
> $10 = #<procedure 7fa3c1db93b0 at test.scm:4:2 ()>
>
> Why 4:2? the line number is much higher and column number as well.

I wonder if it relates to <https://issues.guix.gnu.org/issue/38388> and
<https://lists.gnu.org/archive/html/guile-user/2020-03/msg00006.html>.

Ludo’.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.