[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26107: Inaccurate location info for unbound-variable errors
From: |
Ludovic Courtès |
Subject: |
bug#26107: Inaccurate location info for unbound-variable errors |
Date: |
Wed, 15 Mar 2017 15:03:37 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Hi!
In 2.1.8/2.2.0, walking up the stack to find the origin of an unbound
variable error yields inaccurate location info. Consider this:
--8<---------------cut here---------------start------------->8---
(list 'a
(symbol->string 'b)
(symbol->string 'c) ;← unbound variable error reported here
(FOO 'bar) ;… instead of here
3
4)
--8<---------------cut here---------------end--------------->8---
We get:
--8<---------------cut here---------------start------------->8---
$ guild compile -t value t.scm
Backtrace:
18 (apply-smob/1 #<catch-closure 1312aa0>)
In ice-9/boot-9.scm:
710:2 17 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
In ice-9/eval.scm:
619:8 16 (_ #(#(#<directory (guile-user) 13ba1e0>)))
In /gnu/store/4xir0dlzxl7h5v7va9rz8x3mvarlv2fd-profile/bin/guild:
72:17 15 (main _)
In srfi/srfi-1.scm:
640:9 14 (for-each #<procedure 128be40 at scripts/compile.scm:248:14
(file)> ("t.scm"))
In scripts/compile.scm:
251:26 13 (_ _)
In system/base/target.scm:
57:6 12 (with-target _ _)
In system/base/compile.scm:
152:6 11 (compile-file "t.scm" #:output-file _ #:from _ #:to _ #:env _
#:opts _ #:canonicalization _)
43:4 10 (call-once _)
In ice-9/boot-9.scm:
846:4 9 (with-throw-handler _ _ _)
In system/base/compile.scm:
59:11 8 (_)
155:11 7 (_ #<closed: file 160a0e0>)
224:14 6 (read-and-compile _ #:from _ #:to _ #:env _ #:opts _)
255:6 5 (compile _ #:from _ #:to _ #:env _ #:opts _)
183:32 4 (compile-fold _ #<tree-il (call (toplevel list) (const a) (call
(toplevel symbol->string) (const b)) (call (toplevel symbol->string) (const c))
(call (toplevel FO…> …)
In ice-9/boot-9.scm:
2309:4 3 (save-module-excursion #<procedure 1345d60 at
language/bytecode/spec.scm:33:9 ()>)
In language/bytecode/spec.scm:
35:19 2 (_)
In t.scm:
3:6 1 (_) ;← incorrect line number! (expected line 4)
In ice-9/boot-9.scm:
757:25 0 (dispatch-exception _ _ _)
ice-9/boot-9.scm:757:25: In procedure dispatch-exception:
ice-9/boot-9.scm:757:25: In procedure module-lookup: Unbound variable: FOO
--8<---------------cut here---------------end--------------->8---
It Would Be Nice if we could get the right location info here, though I
understand this is a corner case.
Thoughts?
Ludo’.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#26107: Inaccurate location info for unbound-variable errors,
Ludovic Courtès <=