Hi, Stefan Israelsson Tampe <stefan.ita...@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’.