function test1()
AddTriggerEx("test1", "^trigger test1$", "Note('trigger1 executed') test2()",
bit.bor(trigger_flag.Enabled,
trigger_flag.RegularExpression,
trigger_flag.Temporary,
trigger_flag.OneShot,
trigger_flag.KeepEvaluating),
-1, 0, "", "", sendto.script, 100)
end
function test2()
AddTriggerEx("", "^trigger test2$", "Note('trigger2 executed')",
bit.bor(trigger_flag.Enabled,
trigger_flag.RegularExpression,
trigger_flag.Temporary,
trigger_flag.OneShot),
-1, 0, "", "", sendto.script, 99)
end
What I expected is:
1. run test1(), trigger "test1" is created
2. trigger line "^trigger test1$" is coming, trigger "test1" do inline script
3. test2() is run by trigger "test1", trigger "test2" is created
4. trigger "test1" is deleted by one shot flag
5. trigger line "^trigger test2$" is coming, trigger "test2" do inline script
6. trigger "test2" is deleted by one shot flag
While the actual result is the inline script of trigger "test1" being invoked constantly (seems get dead loop), and the mushclient get hung at the end.
[2019-09-03 13:32:18]
[2019-09-03 13:32:18]
[2019-09-03 13:32:18]
[2019-09-03 13:32:19]
[2019-09-03 13:32:19]
[2019-09-03 13:32:19]
[2019-09-03 13:32:19]
[2019-09-03 13:32:19]
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
[2019-09-03 13:32:43] trigger1 executed
...