GNU bug report logs - #39854
Not correct line and column numbers associated to function.

Previous Next

Package: guile;

Reported by: Stefan Israelsson Tampe <stefan.itampe <at> gmail.com>

Date: Sun, 1 Mar 2020 12:18:02 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Stefan Israelsson Tampe <stefan.itampe <at> gmail.com>
To: 39854 <at> debbugs.gnu.org
Subject: bug#39854: Not correct line and column numbers associated to function.
Date: Sun, 1 Mar 2020 13:17:32 +0100
[Message part 1 (text/plain, inline)]
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
[Message part 2 (text/html, inline)]

This bug report was last modified 5 years and 101 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.