* bug#39854: Not correct line and column numbers associated to function.
@ 2020-03-01 12:17 Stefan Israelsson Tampe
2020-03-05 21:54 ` Ludovic Courtès
0 siblings, 1 reply; 2+ messages in thread
From: Stefan Israelsson Tampe @ 2020-03-01 12:17 UTC (permalink / raw)
To: 39854
[-- Attachment #1: Type: text/plain, Size: 1320 bytes --]
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.
Regards
Stefan
[-- Attachment #2: Type: text/html, Size: 1994 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#39854: Not correct line and column numbers associated to function.
2020-03-01 12:17 bug#39854: Not correct line and column numbers associated to function Stefan Israelsson Tampe
@ 2020-03-05 21:54 ` Ludovic Courtès
0 siblings, 0 replies; 2+ messages in thread
From: Ludovic Courtès @ 2020-03-05 21:54 UTC (permalink / raw)
To: Stefan Israelsson Tampe; +Cc: 39854
Hi,
Stefan Israelsson Tampe <stefan.itampe@gmail.com> 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’.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-03-05 21:54 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-01 12:17 bug#39854: Not correct line and column numbers associated to function Stefan Israelsson Tampe
2020-03-05 21:54 ` Ludovic Courtès
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).