diff --git a/pbx/ael/ael-test/ref.ael-ntest10 b/pbx/ael/ael-test/ref.ael-ntest10
index 0f5792e0fda9c1d74b552ebcae2ad2c26dba55d0..e7eaa5b0668c3622afecb07de1a129df46c63153 100644
--- a/pbx/ael/ael-test/ref.ael-ntest10
+++ b/pbx/ael/ael-test/ref.ael-ntest10
@@ -1,17 +1,15 @@
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
+
+(If you find progress and other non-error messages irritating, you can use -q to suppress them)
 
 (You can use the -n option if you aren't interested in seeing all the instructions generated by the compiler)
 
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
 Executed ast_cli_register_multiple();
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3764 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3767 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3770 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3747 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3754 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3760 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
 Executed ast_context_create(conts, name=macro-endsess, registrar=pbx_ael);
 Executed ast_context_create(conts, name=macro-nullchk, registrar=pbx_ael);
 Executed ast_context_create(conts, name=macro-endcall, registrar=pbx_ael);
@@ -123,13 +121,9 @@ Executed ast_add_extension2(context=macro-endcall5, rep=0, exten=sw-16-out, prio
 Executed ast_add_extension2(context=macro-endcall5, rep=0, exten=sw-16-out, priority=4, label=(null), callerid=(null), appl=Goto, data=sw-21-in|ptr1, FREE, registrar=pbx_ael);
 Executed ast_add_extension2(context=macro-endcall5, rep=0, exten=sw-16-out, priority=5, label=(null), callerid=(null), appl=NoOp, data=Finish if-sw-endcall5-out-16-17, FREE, registrar=pbx_ael);
 Executed ast_add_extension2(context=macro-endcall5, rep=0, exten=sw-16-out, priority=6, label=(null), callerid=(null), appl=Goto, data=sw-16-in|1, FREE, registrar=pbx_ael);
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3772 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3762 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
 Executed ast_merge_contexts_and_delete();
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3775 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3765 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
 Executed ast_walk_contexts();
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3778 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse  line:407 func: main  7 contexts, 17 extensions, 104 priorities
-Executed ast_unregister_file_version();
-Executed ast_unregister_file_version();
-Executed ast_unregister_file_version();
-Executed ast_unregister_file_version();
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3768 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse  line:458 func: main  7 contexts, 17 extensions, 104 priorities
diff --git a/pbx/ael/ael-test/ref.ael-ntest12 b/pbx/ael/ael-test/ref.ael-ntest12
index 46aae63abe2668b364446f78d3cae842d6e9faad..37d4f233c575d8ab415c3e0a9c979d9c6463a903 100644
--- a/pbx/ael/ael-test/ref.ael-ntest12
+++ b/pbx/ael/ael-test/ref.ael-ntest12
@@ -1,17 +1,15 @@
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
+
+(If you find progress and other non-error messages irritating, you can use -q to suppress them)
 
 (You can use the -n option if you aren't interested in seeing all the instructions generated by the compiler)
 
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
 Executed ast_cli_register_multiple();
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3764 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3767 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3770 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3747 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3754 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3760 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
 Executed ast_context_create(conts, name=test1, registrar=pbx_ael);
 Executed ast_add_extension2(context=test1, rep=0, exten=771, priority=1, label=(null), callerid=(null), appl=Set, data=i=$[0], FREE, registrar=pbx_ael);
 Executed ast_add_extension2(context=test1, rep=0, exten=771, priority=2, label=(null), callerid=(null), appl=GotoIf, data=$[ 
@@ -26,13 +24,9 @@ Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=3, label=(
 Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=4, label=(null), callerid=(null), appl=Set, data=i=$[ ${i} + 1 ], FREE, registrar=pbx_ael);
 Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=5, label=(null), callerid=(null), appl=Goto, data=2, FREE, registrar=pbx_ael);
 Executed ast_add_extension2(context=test1, rep=0, exten=772, priority=6, label=(null), callerid=(null), appl=NoOp, data=Finish for-test1-2, FREE, registrar=pbx_ael);
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3772 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3762 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
 Executed ast_merge_contexts_and_delete();
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3775 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3765 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
 Executed ast_walk_contexts();
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3778 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse  line:407 func: main  1 contexts, 2 extensions, 12 priorities
-Executed ast_unregister_file_version();
-Executed ast_unregister_file_version();
-Executed ast_unregister_file_version();
-Executed ast_unregister_file_version();
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3768 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse  line:458 func: main  1 contexts, 2 extensions, 12 priorities
diff --git a/pbx/ael/ael-test/ref.ael-ntest9 b/pbx/ael/ael-test/ref.ael-ntest9
index 66cdd3b8eb8ee49848ded50f2ac43c2cc6cc1fcf..af6b72f9509a9aa73195666f427a7e723f62a6dd 100644
--- a/pbx/ael/ael-test/ref.ael-ntest9
+++ b/pbx/ael/ael-test/ref.ael-ntest9
@@ -1,17 +1,15 @@
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
+
+(If you find progress and other non-error messages irritating, you can use -q to suppress them)
 
 (You can use the -n option if you aren't interested in seeing all the instructions generated by the compiler)
 
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
 Executed ast_cli_register_multiple();
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3764 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3767 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3770 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3747 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3754 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3760 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
 Executed ast_context_create(conts, name=workext, registrar=pbx_ael);
 Executed ast_context_add_ignorepat2(con, value=8, registrar=pbx_ael);
 Executed ast_context_add_ignorepat2(con, value=9, registrar=pbx_ael);
@@ -19,13 +17,9 @@ Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=1, label
 Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=2, label=(null), callerid=(null), appl=Verbose, data=2|${QUERYSTRING}, FREE, registrar=pbx_ael);
 Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=3, label=(null), callerid=(null), appl=Set, data=query=$["SELECT foo\, bar FROM foobar" ], FREE, registrar=pbx_ael);
 Executed ast_add_extension2(context=workext, rep=0, exten=793, priority=4, label=(null), callerid=(null), appl=Verbose, data=2|${query}, FREE, registrar=pbx_ael);
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3772 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3762 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
 Executed ast_merge_contexts_and_delete();
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3775 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3765 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
 Executed ast_walk_contexts();
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3778 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse  line:407 func: main  1 contexts, 1 extensions, 4 priorities
-Executed ast_unregister_file_version();
-Executed ast_unregister_file_version();
-Executed ast_unregister_file_version();
-Executed ast_unregister_file_version();
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3768 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse  line:458 func: main  1 contexts, 1 extensions, 4 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test1 b/pbx/ael/ael-test/ref.ael-test1
index 2a43466373efb8fad5e9df6d8b07561f188cfeca..0c7b31913e3fe8a99e151447bbfe51475a5c9b66 100644
--- a/pbx/ael/ael-test/ref.ael-test1
+++ b/pbx/ael/ael-test/ref.ael-test1
@@ -1,16 +1,14 @@
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
+
+(If you find progress and other non-error messages irritating, you can use -q to suppress them)
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3764 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3767 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:../pbx/pbx_ael.c  line:909 func: check_dow  Warning: file ./extensions.ael, line 67-67: The day (m0n) must be one of 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', or 'sat'!
-LOG: lev:3 file:../pbx/pbx_ael.c  line:867 func: check_timerange  Warning: file ./extensions.ael, line 78-78: The end time (25:00) is out of range!
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3770 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3772 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3775 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3778 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse  line:407 func: main  5 contexts, 13 extensions, 156 priorities
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3747 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3754 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:../pbx/pbx_ael.c  line:899 func: check_dow  Warning: file ./extensions.ael, line 67-67: The day (m0n) must be one of 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', or 'sat'!
+LOG: lev:3 file:../pbx/pbx_ael.c  line:857 func: check_timerange  Warning: file ./extensions.ael, line 78-78: The end time (25:00) is out of range!
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3760 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3762 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3765 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3768 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse  line:458 func: main  5 contexts, 13 extensions, 156 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test11 b/pbx/ael/ael-test/ref.ael-test11
index f596f3da7169c11a2ca1132105765ba548a247df..e1af8fa04a42e73771bf73d92bcda143a1470ccb 100644
--- a/pbx/ael/ael-test/ref.ael-test11
+++ b/pbx/ael/ael-test/ref.ael-test11
@@ -1,13 +1,11 @@
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
+
+(If you find progress and other non-error messages irritating, you can use -q to suppress them)
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3764 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3767 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:4 file:../pbx/pbx_ael.c  line:1043 func: check_label  Error: file ./extensions.ael, line 13-13: Duplicate label lab1! Previously defined at file ./extensions.ael, line 8.
-LOG: lev:4 file:../pbx/pbx_ael.c  line:1043 func: check_label  Error: file ./extensions.ael, line 49-49: Duplicate label ptr1! Previously defined at file ./extensions.ael, line 33.
-LOG: lev:4 file:../pbx/pbx_ael.c  line:3780 func: pbx_load_module  Sorry, but 0 syntax errors and 2 semantic errors were detected. It doesn't make sense to compile.
-LOG: lev:4 file:ael2_parse  line:407 func: main  0 contexts, 0 extensions, 0 priorities
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3747 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3754 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:4 file:../pbx/pbx_ael.c  line:1033 func: check_label  Error: file ./extensions.ael, line 13-13: Duplicate label lab1! Previously defined at file ./extensions.ael, line 8.
+LOG: lev:4 file:../pbx/pbx_ael.c  line:1033 func: check_label  Error: file ./extensions.ael, line 49-49: Duplicate label ptr1! Previously defined at file ./extensions.ael, line 33.
+LOG: lev:4 file:../pbx/pbx_ael.c  line:3770 func: pbx_load_module  Sorry, but 0 syntax errors and 2 semantic errors were detected. It doesn't make sense to compile.
+LOG: lev:4 file:ael2_parse  line:458 func: main  0 contexts, 0 extensions, 0 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test2 b/pbx/ael/ael-test/ref.ael-test2
index de4dee54c3798427fc11f11e8299fa147387c8ef..fd6c286e9d5e4bb624117ff6db31cc63a1d544e2 100644
--- a/pbx/ael/ael-test/ref.ael-test2
+++ b/pbx/ael/ael-test/ref.ael-test2
@@ -1,20 +1,18 @@
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
+
+(If you find progress and other non-error messages irritating, you can use -q to suppress them)
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3764 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3747 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3754 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
 LOG: lev:2 file:ael.flex  line:422 func: ael_yylex    --Read in included file ./apptest.ael2, 3474 chars
 LOG: lev:3 file:ael.y  line:512 func: ael_yyparse  ==== File: ./apptest.ael2, Line 46, Cols: 8-11: Suggestion: Use the goto statement instead of the Goto() application call in AEL.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3767 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:../pbx/pbx_ael.c  line:2257 func: check_pval_item  Warning: file ./apptest.ael2, line 35-35: application call to EndWhile needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:../pbx/pbx_ael.c  line:2257 func: check_pval_item  Warning: file ./apptest.ael2, line 37-37: application call to ExecIf needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:4 file:../pbx/pbx_ael.c  line:1207 func: check_goto  Error: file ./apptest.ael2, line 46-46: goto:  no context cont could be found that matches the goto target!
-LOG: lev:3 file:../pbx/pbx_ael.c  line:2257 func: check_pval_item  Warning: file ./apptest.ael2, line 47-47: application call to GotoIf needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:../pbx/pbx_ael.c  line:2257 func: check_pval_item  Warning: file ./apptest.ael2, line 48-48: application call to GotoIfTime needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:../pbx/pbx_ael.c  line:2257 func: check_pval_item  Warning: file ./apptest.ael2, line 85-85: application call to Random needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:../pbx/pbx_ael.c  line:2257 func: check_pval_item  Warning: file ./apptest.ael2, line 141-141: application call to While needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:4 file:../pbx/pbx_ael.c  line:3780 func: pbx_load_module  Sorry, but 0 syntax errors and 1 semantic errors were detected. It doesn't make sense to compile.
-LOG: lev:4 file:ael2_parse  line:407 func: main  0 contexts, 0 extensions, 0 priorities
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:../pbx/pbx_ael.c  line:2247 func: check_pval_item  Warning: file ./apptest.ael2, line 35-35: application call to EndWhile needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:../pbx/pbx_ael.c  line:2247 func: check_pval_item  Warning: file ./apptest.ael2, line 37-37: application call to ExecIf needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:4 file:../pbx/pbx_ael.c  line:1197 func: check_goto  Error: file ./apptest.ael2, line 46-46: goto:  no context cont could be found that matches the goto target!
+LOG: lev:3 file:../pbx/pbx_ael.c  line:2247 func: check_pval_item  Warning: file ./apptest.ael2, line 47-47: application call to GotoIf needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:../pbx/pbx_ael.c  line:2247 func: check_pval_item  Warning: file ./apptest.ael2, line 48-48: application call to GotoIfTime needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:../pbx/pbx_ael.c  line:2247 func: check_pval_item  Warning: file ./apptest.ael2, line 85-85: application call to Random needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:../pbx/pbx_ael.c  line:2247 func: check_pval_item  Warning: file ./apptest.ael2, line 141-141: application call to While needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:4 file:../pbx/pbx_ael.c  line:3770 func: pbx_load_module  Sorry, but 0 syntax errors and 1 semantic errors were detected. It doesn't make sense to compile.
+LOG: lev:4 file:ael2_parse  line:458 func: main  0 contexts, 0 extensions, 0 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test3 b/pbx/ael/ael-test/ref.ael-test3
index d04f782cf738def7aec5b9a032250d4f002ceefd..4a36336c45466ac3b7d3de15b87b58f4c87875b3 100644
--- a/pbx/ael/ael-test/ref.ael-test3
+++ b/pbx/ael/ael-test/ref.ael-test3
@@ -1,20 +1,18 @@
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
+
+(If you find progress and other non-error messages irritating, you can use -q to suppress them)
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3764 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3747 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3754 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
 LOG: lev:2 file:ael.flex  line:422 func: ael_yylex    --Read in included file ./include1.ael2, 78 chars
 LOG: lev:2 file:ael.flex  line:422 func: ael_yylex    --Read in included file ./include2.ael2, 98 chars
 LOG: lev:2 file:ael.flex  line:422 func: ael_yylex    --Read in included file ./include3.ael2, 57 chars
 LOG: lev:2 file:ael.flex  line:422 func: ael_yylex    --Read in included file ./include5.ael2, 56 chars
 LOG: lev:2 file:ael.flex  line:422 func: ael_yylex    --Read in included file ./include4.ael2, 87 chars
 LOG: lev:2 file:ael.flex  line:422 func: ael_yylex    --Read in included file /etc/asterisk/telemarket_torture.ael2, 28036 chars
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3767 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3770 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3772 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3775 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3778 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse  line:407 func: main  172 contexts, 858 extensions, 2326 priorities
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3760 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3762 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3765 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3768 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse  line:458 func: main  172 contexts, 858 extensions, 2326 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test4 b/pbx/ael/ael-test/ref.ael-test4
index de4dee54c3798427fc11f11e8299fa147387c8ef..fd6c286e9d5e4bb624117ff6db31cc63a1d544e2 100644
--- a/pbx/ael/ael-test/ref.ael-test4
+++ b/pbx/ael/ael-test/ref.ael-test4
@@ -1,20 +1,18 @@
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
+
+(If you find progress and other non-error messages irritating, you can use -q to suppress them)
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3764 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3747 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3754 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
 LOG: lev:2 file:ael.flex  line:422 func: ael_yylex    --Read in included file ./apptest.ael2, 3474 chars
 LOG: lev:3 file:ael.y  line:512 func: ael_yyparse  ==== File: ./apptest.ael2, Line 46, Cols: 8-11: Suggestion: Use the goto statement instead of the Goto() application call in AEL.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3767 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:3 file:../pbx/pbx_ael.c  line:2257 func: check_pval_item  Warning: file ./apptest.ael2, line 35-35: application call to EndWhile needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:../pbx/pbx_ael.c  line:2257 func: check_pval_item  Warning: file ./apptest.ael2, line 37-37: application call to ExecIf needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:4 file:../pbx/pbx_ael.c  line:1207 func: check_goto  Error: file ./apptest.ael2, line 46-46: goto:  no context cont could be found that matches the goto target!
-LOG: lev:3 file:../pbx/pbx_ael.c  line:2257 func: check_pval_item  Warning: file ./apptest.ael2, line 47-47: application call to GotoIf needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:../pbx/pbx_ael.c  line:2257 func: check_pval_item  Warning: file ./apptest.ael2, line 48-48: application call to GotoIfTime needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:../pbx/pbx_ael.c  line:2257 func: check_pval_item  Warning: file ./apptest.ael2, line 85-85: application call to Random needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:3 file:../pbx/pbx_ael.c  line:2257 func: check_pval_item  Warning: file ./apptest.ael2, line 141-141: application call to While needs to be re-written using AEL if, while, goto, etc. keywords instead!
-LOG: lev:4 file:../pbx/pbx_ael.c  line:3780 func: pbx_load_module  Sorry, but 0 syntax errors and 1 semantic errors were detected. It doesn't make sense to compile.
-LOG: lev:4 file:ael2_parse  line:407 func: main  0 contexts, 0 extensions, 0 priorities
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:3 file:../pbx/pbx_ael.c  line:2247 func: check_pval_item  Warning: file ./apptest.ael2, line 35-35: application call to EndWhile needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:../pbx/pbx_ael.c  line:2247 func: check_pval_item  Warning: file ./apptest.ael2, line 37-37: application call to ExecIf needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:4 file:../pbx/pbx_ael.c  line:1197 func: check_goto  Error: file ./apptest.ael2, line 46-46: goto:  no context cont could be found that matches the goto target!
+LOG: lev:3 file:../pbx/pbx_ael.c  line:2247 func: check_pval_item  Warning: file ./apptest.ael2, line 47-47: application call to GotoIf needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:../pbx/pbx_ael.c  line:2247 func: check_pval_item  Warning: file ./apptest.ael2, line 48-48: application call to GotoIfTime needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:../pbx/pbx_ael.c  line:2247 func: check_pval_item  Warning: file ./apptest.ael2, line 85-85: application call to Random needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:3 file:../pbx/pbx_ael.c  line:2247 func: check_pval_item  Warning: file ./apptest.ael2, line 141-141: application call to While needs to be re-written using AEL if, while, goto, etc. keywords instead!
+LOG: lev:4 file:../pbx/pbx_ael.c  line:3770 func: pbx_load_module  Sorry, but 0 syntax errors and 1 semantic errors were detected. It doesn't make sense to compile.
+LOG: lev:4 file:ael2_parse  line:458 func: main  0 contexts, 0 extensions, 0 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test5 b/pbx/ael/ael-test/ref.ael-test5
index 5a7c4f7d2b724d9820f12626ad22a276501061e5..06bae94fc9c2d6de0cda977f24bfc40e54c412f2 100644
--- a/pbx/ael/ael-test/ref.ael-test5
+++ b/pbx/ael/ael-test/ref.ael-test5
@@ -1,14 +1,12 @@
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
+
+(If you find progress and other non-error messages irritating, you can use -q to suppress them)
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3764 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3767 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3770 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3772 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3775 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3778 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse  line:407 func: main  38 contexts, 90 extensions, 484 priorities
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3747 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3754 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3760 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3762 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3765 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3768 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse  line:458 func: main  38 contexts, 90 extensions, 484 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test6 b/pbx/ael/ael-test/ref.ael-test6
index b463177c074519a2bc9f7def3010842be0241c1c..998ce3b0631b8d0fdadfa1740acde297f43fefd5 100644
--- a/pbx/ael/ael-test/ref.ael-test6
+++ b/pbx/ael/ael-test/ref.ael-test6
@@ -1,11 +1,9 @@
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
+
+(If you find progress and other non-error messages irritating, you can use -q to suppress them)
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3764 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3747 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3754 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
 LOG: lev:4 file:ael.flex  line:269 func: ael_yylex  File=./extensions.ael, line=165, column=49: Mismatched '}' in expression!
 LOG: lev:4 file:ael.y  line:735 func: ael_yyerror  ==== File: ./extensions.ael, Line 165, Cols: 51-51: Error: syntax error, unexpected '=', expecting ')'
 LOG: lev:4 file:ael.y  line:735 func: ael_yyerror  ==== File: ./extensions.ael, Line 169, Cols: 24-24: Error: syntax error, unexpected '&'
@@ -13,6 +11,6 @@ LOG: lev:4 file:ael.flex  line:269 func: ael_yylex  File=./extensions.ael, line=
 LOG: lev:4 file:ael.y  line:735 func: ael_yyerror  ==== File: ./extensions.ael, Line 222, Cols: 43-43: Error: syntax error, unexpected '=', expecting ')'
 LOG: lev:4 file:ael.y  line:735 func: ael_yyerror  ==== File: ./extensions.ael, Line 226, Cols: 16-16: Error: syntax error, unexpected '&'
 LOG: lev:4 file:ael.y  line:735 func: ael_yyerror  ==== File: ./extensions.ael, Line 291, Cols: 21-28: Error: syntax error, unexpected word, expecting '(' or ';' or '=' or ':'
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3767 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:4 file:../pbx/pbx_ael.c  line:3780 func: pbx_load_module  Sorry, but 5 syntax errors and 0 semantic errors were detected. It doesn't make sense to compile.
-LOG: lev:4 file:ael2_parse  line:407 func: main  0 contexts, 0 extensions, 0 priorities
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:4 file:../pbx/pbx_ael.c  line:3770 func: pbx_load_module  Sorry, but 5 syntax errors and 0 semantic errors were detected. It doesn't make sense to compile.
+LOG: lev:4 file:ael2_parse  line:458 func: main  0 contexts, 0 extensions, 0 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test7 b/pbx/ael/ael-test/ref.ael-test7
index 3d22968e5cac4f3c00fb0b5bee3c6af8a8ce8628..a9a1b77f81190661e90a2175068cc8000bf12b91 100644
--- a/pbx/ael/ael-test/ref.ael-test7
+++ b/pbx/ael/ael-test/ref.ael-test7
@@ -1,16 +1,14 @@
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
+
+(If you find progress and other non-error messages irritating, you can use -q to suppress them)
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3764 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3767 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:4 file:../pbx/pbx_ael.c  line:2231 func: check_pval_item  Error: file ./extensions.ael, line 98-98: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
-LOG: lev:4 file:../pbx/pbx_ael.c  line:2231 func: check_pval_item  Error: file ./extensions.ael, line 107-107: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
-LOG: lev:4 file:../pbx/pbx_ael.c  line:2231 func: check_pval_item  Error: file ./extensions.ael, line 284-284: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
-LOG: lev:4 file:../pbx/pbx_ael.c  line:2231 func: check_pval_item  Error: file ./extensions.ael, line 287-287: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
-LOG: lev:4 file:../pbx/pbx_ael.c  line:2212 func: check_pval_item  Error: file ./extensions.ael, line 452-452: macro call to non-existent std-exten-ael !
-LOG: lev:4 file:../pbx/pbx_ael.c  line:3780 func: pbx_load_module  Sorry, but 0 syntax errors and 5 semantic errors were detected. It doesn't make sense to compile.
-LOG: lev:4 file:ael2_parse  line:407 func: main  0 contexts, 0 extensions, 0 priorities
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3747 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3754 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:4 file:../pbx/pbx_ael.c  line:2221 func: check_pval_item  Error: file ./extensions.ael, line 98-98: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
+LOG: lev:4 file:../pbx/pbx_ael.c  line:2221 func: check_pval_item  Error: file ./extensions.ael, line 107-107: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
+LOG: lev:4 file:../pbx/pbx_ael.c  line:2221 func: check_pval_item  Error: file ./extensions.ael, line 284-284: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
+LOG: lev:4 file:../pbx/pbx_ael.c  line:2221 func: check_pval_item  Error: file ./extensions.ael, line 287-287: The macro call to checkanddial has 5 arguments, but the macro definition has 7 arguments
+LOG: lev:4 file:../pbx/pbx_ael.c  line:2202 func: check_pval_item  Error: file ./extensions.ael, line 452-452: macro call to non-existent std-exten-ael !
+LOG: lev:4 file:../pbx/pbx_ael.c  line:3770 func: pbx_load_module  Sorry, but 0 syntax errors and 5 semantic errors were detected. It doesn't make sense to compile.
+LOG: lev:4 file:ael2_parse  line:458 func: main  0 contexts, 0 extensions, 0 priorities
diff --git a/pbx/ael/ael-test/ref.ael-test8 b/pbx/ael/ael-test/ref.ael-test8
index ed8addb3c3cc31a42f2c11d92abee2c2e874bc43..8ef0fb5625cc99dbe7503d2db4fe9723e7929f0b 100644
--- a/pbx/ael/ael-test/ref.ael-test8
+++ b/pbx/ael/ael-test/ref.ael-test8
@@ -1,14 +1,12 @@
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
-Executed ast_register_file_version();
+
+(If you find progress and other non-error messages irritating, you can use -q to suppress them)
 
 (You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  Starting AEL load process.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3764 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3767 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3770 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3772 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3775 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
-LOG: lev:2 file:../pbx/pbx_ael.c  line:3778 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
-LOG: lev:4 file:ael2_parse  line:407 func: main  1 contexts, 5 extensions, 15 priorities
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3747 func: pbx_load_module  Starting AEL load process.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3754 func: pbx_load_module  AEL load process: calculated config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3757 func: pbx_load_module  AEL load process: parsed config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3760 func: pbx_load_module  AEL load process: checked config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3762 func: pbx_load_module  AEL load process: compiled config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3765 func: pbx_load_module  AEL load process: merged config file name './extensions.ael'.
+LOG: lev:2 file:../pbx/pbx_ael.c  line:3768 func: pbx_load_module  AEL load process: verified config file name './extensions.ael'.
+LOG: lev:4 file:ael2_parse  line:458 func: main  1 contexts, 5 extensions, 15 priorities
diff --git a/utils/ael_main.c b/utils/ael_main.c
index b93e0ef328ca2d4ece9d017f61edcf15e895df83..b930ad56ba267cae4fd41feb4ca3ebb0c7e1bc3c 100644
--- a/utils/ael_main.c
+++ b/utils/ael_main.c
@@ -99,6 +99,7 @@ void ast_verbose(const char *fmt, ...);
 struct ast_app *pbx_findapp(const char *app);
 void filter_leading_space_from_exprs(char *str);
 void filter_newlines(char *str);
+static int quiet = 0;
 static int no_comp = 0;
 static int use_curr_dir = 0;
 static int dump_extensions = 0;
@@ -119,19 +120,21 @@ void ast_add_profile(void)
 void ast_cli_register_multiple(void)
 {
 	if(!no_comp)
-        printf("Executed ast_cli_register_multiple();\n");
+        	printf("Executed ast_cli_register_multiple();\n");
 }
 
 void ast_register_file_version(void)
 {
-	if(!no_comp)
-		printf("Executed ast_register_file_version();\n");
+	/* if(!no_comp)
+		printf("Executed ast_register_file_version();\n"); */
+	/* I'm erasing this, because I don't think anyone really ever needs to see it anyway */
 }
 
 void ast_unregister_file_version(void)
 {
-	if(!no_comp)
-		printf("Executed ast_unregister_file_version();\n");
+	/* if(!no_comp)
+		printf("Executed ast_unregister_file_version();\n"); */
+	/* I'm erasing this, because I don't think anyone really ever needs to see it anyway */
 
 }
 int ast_add_extension2(struct ast_context *con,
@@ -309,19 +312,21 @@ void ast_cli_unregister_multiple(void)
 
 void ast_context_destroy(void)
 {
-	printf("Executed ast_context_destroy();\n");
+	if( !no_comp)
+		printf("Executed ast_context_destroy();\n");
 }
 
 void ast_log(int level, const char *file, int line, const char *function, const char *fmt, ...)
 {
         va_list vars;
         va_start(vars,fmt);
-
-        printf("LOG: lev:%d file:%s  line:%d func: %s  ",
+	if( !quiet || level > 2 ) {
+    	    printf("LOG: lev:%d file:%s  line:%d func: %s  ",
                    level, file, line, function);
-        vprintf(fmt, vars);
-        fflush(stdout);
-        va_end(vars);
+            vprintf(fmt, vars);
+            fflush(stdout);
+            va_end(vars);
+	}
 }
 
 void ast_verbose(const char *fmt, ...)
@@ -409,20 +414,26 @@ int main(int argc, char **argv)
 	for(i=1;i<argc;i++) {
 		if( argv[i][0] == '-' && argv[i][1] == 'n' )
 			no_comp =1;
+		if( argv[i][0] == '-' && argv[i][1] == 'q' ) {
+			quiet = 1;
+			no_comp =1;
+		}
 		if( argv[i][0] == '-' && argv[i][1] == 'd' )
 			use_curr_dir =1;
 		if( argv[i][0] == '-' && argv[i][1] == 'w' )
 			dump_extensions =1;
 	}
 	
-		
-	if( !no_comp )
-		printf("\n(You can use the -n option if you aren't interested in seeing all the instructions generated by the compiler)\n\n");
-	if( !use_curr_dir )
-		printf("\n(You can use the -d option if you want to use the current working directory as the CONFIG_DIR. I will look in this dir for extensions.ael* and its included files)\n\n");
-	if( !dump_extensions )
-		printf("\n(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)\n");
-	
+	if( !quiet ) {
+		printf("\n(If you find progress and other non-error messages irritating, you can use -q to suppress them)\n");
+		if( !no_comp )
+			printf("\n(You can use the -n option if you aren't interested in seeing all the instructions generated by the compiler)\n\n");
+		if( !use_curr_dir )
+			printf("\n(You can use the -d option if you want to use the current working directory as the CONFIG_DIR. I will look in this dir for extensions.ael* and its included files)\n\n");
+		if( !dump_extensions )
+			printf("\n(You can use the -w option to dump extensions.conf format to extensions.conf.aeldump)\n");
+	}
+
 	if( use_curr_dir ) {
 		strcpy(ast_config_AST_CONFIG_DIR, ".");
 	}