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

Stefan Israelsson Tampe <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <CAGua6m048qEZz03SfQaARX9xrH3WVTSH7SP0q_M_AZy1kzCN+A@mail.gmail.com>
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
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.