* fixes #8794 : `Error: undeclared field: 'foo'` should show type (+ where type is defined) (hard to guess in generic code) * fixes #9270: `--listFullPaths` not honored by `declared in foo.nim` messages * fixes #9767: VM stacktrace doesn't honor --excessiveStackTrace:on * fixes #9768: VM stacktrace misses column info, can lead to ambiguous or harder to read stacktraces * refactors some col+1 code to col + ColOffset (self documents code) * make getProcHeader show declared info location also for types and all routine kinds (including macros,templates) instead of just (rather arbitrarily) for iterator,proc,func,method * --listFullPaths now is honored in more places * fix typo system/except.nim => lib/system/excpt.nim * remove substr(foo, 0) hack in compiler/vm.nim which seems old and not applicable anymore
This commit is contained in:
parent
fb26b95f81
commit
bf3a308e86
9 changed files with 129 additions and 31 deletions
|
|
@ -65,15 +65,20 @@ proc stackTraceAux(c: PCtx; x: PStackFrame; pc: int; recursionLimit=100) =
|
|||
return
|
||||
stackTraceAux(c, x.next, x.comesFrom, recursionLimit-1)
|
||||
var info = c.debug[pc]
|
||||
# we now use the same format as in system/except.nim
|
||||
var s = substr(toFilename(c.config, info), 0)
|
||||
# this 'substr' prevents a strange corruption. XXX This needs to be
|
||||
# investigated eventually but first attempts to fix it broke everything
|
||||
# see the araq-wip-fixed-writebarrier branch.
|
||||
# we now use a format similar to the one in lib/system/excpt.nim
|
||||
var s = ""
|
||||
# todo: factor with quotedFilename
|
||||
if optExcessiveStackTrace in c.config.globalOptions:
|
||||
s = toFullPath(c.config, info)
|
||||
else:
|
||||
s = toFilename(c.config, info)
|
||||
var line = toLinenumber(info)
|
||||
var col = toColumn(info)
|
||||
if line > 0:
|
||||
add(s, '(')
|
||||
add(s, $line)
|
||||
add(s, ", ")
|
||||
add(s, $(col + ColOffset))
|
||||
add(s, ')')
|
||||
if x.prc != nil:
|
||||
for k in 1..max(1, 25-s.len): add(s, ' ')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue