Fix Macro documentation to match current (and intended) behavior.

(See -dev mailing list)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@186775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Tilghman Lesher
2009-04-07 22:16:50 +00:00
parent 8c021d9334
commit 56e7ca00c1

View File

@@ -61,17 +61,23 @@ static char *descrip =
"will be returned at the location of the Goto.\n" "will be returned at the location of the Goto.\n"
"If ${MACRO_OFFSET} is set at termination, Macro will attempt to continue\n" "If ${MACRO_OFFSET} is set at termination, Macro will attempt to continue\n"
"at priority MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise.\n" "at priority MACRO_OFFSET + N + 1 if such a step exists, and N + 1 otherwise.\n"
"Extensions: While a macro is being executed, it becomes the current context.\n"
" This means that if a hangup occurs, for instance, that the macro\n"
" will be searched for an 'h' extension, NOT the context from which\n"
" the macro was called. So, make sure to define all appropriate\n"
" extensions in your macro! (you can use 'catch' in AEL) \n"
"WARNING: Because of the way Macro is implemented (it executes the priorities\n" "WARNING: Because of the way Macro is implemented (it executes the priorities\n"
" contained within it via sub-engine), and a fixed per-thread\n" " contained within it via sub-engine), and a fixed per-thread\n"
" memory stack allowance, macros are limited to 7 levels\n" " memory stack allowance, macros are limited to 7 levels\n"
" of nesting (macro calling macro calling macro, etc.); It\n" " of nesting (macro calling macro calling macro, etc.); It\n"
" may be possible that stack-intensive applications in deeply nested macros\n" " may be possible that stack-intensive applications in deeply nested\n"
" could cause asterisk to crash earlier than this limit.\n"; " macros could cause asterisk to crash earlier than this limit.\n"
"NOTE: a bug existed in earlier versions of Asterisk that caused Macro not\n"
"to reset its context and extension correctly upon exit. This meant that\n"
"the 'h' extension within a Macro sometimes would execute, when the dialplan\n"
"exited while that Macro was running. However, since this bug has been in\n"
"Asterisk for so long, users started to depend upon this behavior. Therefore,\n"
"when a channel hangs up when in the midst of executing a Macro, the macro\n"
"context will first be checked for an 'h' extension, followed by the main\n"
"context from which the Macro was originally called. This behavior in 1.4\n"
"exists only for compatibility with earlier versions. You are strongly\n"
"encouraged to make use of the 'h' extension only in the context from which\n"
"Macro was originally called.\n";
static char *if_descrip = static char *if_descrip =
" MacroIf(<expr>?macroname_a[|arg1][:macroname_b[|arg1]])\n" " MacroIf(<expr>?macroname_a[|arg1][:macroname_b[|arg1]])\n"