I found that vjass's textmacro will translate to "define" , and this is the bug:
1.
//! textmacro ABCD takes NAME
call BJDebugMsg("$NAME$")
//! endtextmacro
//! runtextmacro ABCD("something")
if adicParser enabled, will become
call BJDebugMsg("$NAME$")
or if adicParser disabled, it will become
call BJDebugMsg("something")
2.
//! textmacro ABCD takes NAME
call BJDebugMsg($NAME$)
//! endtextmacro
//! runtextmacro ABCD("\"something\"")
when adicParser enabled,it doesn't work
Error message is "[00] Critical syntax error ABCD(\ something\)"