Software /
code /
prosody
Annotate
tools/linedebug.lua @ 12592:d580e6a57cbb 0.12
mod_storage_sql: Fix bypass of load procedure under prosodyctl
There's no 'prosody.prosodyctl' property other than this one, introduced
in 6216743c188c in 2015.
Guessing that the intent was to skip this when running as a prosodyctl
command. The module.command code does its own version of this
initialization, so this seems likely.
Thanks raja for noticing
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Tue, 26 Jul 2022 00:39:16 +0200 |
parent | 11193:5850d24a4ad3 |
rev | line source |
---|---|
11193
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 local data = {} |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 local getinfo = debug.getinfo; |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 local function linehook(ev, li) |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 local S = getinfo(2, "S"); |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 if S and S.source and S.source:match"^@" then |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 local file = S.source:sub(2); |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 local lines = data[file]; |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 if not lines then |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 lines = {}; |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 data[file] = lines; |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 for line in io.lines(file) do |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 lines[#lines+1] = line; |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 end |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 end |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 io.stderr:write(ev, " ", file, " ", li, " ", lines[li], "\n"); |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 end |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 end |
5850d24a4ad3
tools/linedebug: Print each line of source executed
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 debug.sethook(linehook, "l"); |