[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#39854: Not correct line and column numbers associated to function.
From: |
Ludovic Courtès |
Subject: |
bug#39854: Not correct line and column numbers associated to function. |
Date: |
Thu, 05 Mar 2020 22:54:17 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hi,
Stefan Israelsson Tampe <address@hidden> 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’.