I looked through the 1.4->1.6 changes and didn’t see this, figured I’d throw it out there: Would it be possible in a future update to change the input to the tokenizer to allow any amount of whitespace between non-space tokens? The way the tokenizer works in 1.4 causes a lot of pain in terms of debugging and readability, since having an extra space in many places causes different behavior than non-space use.
Examples: This line:
exten => s,n,Goto(default,s,1)
is different in the way it is tokenized from:
exten => s, n, Goto(default, s, 1)
since spaces get added to some tokens (" s", " 1" instead of the expected “s”, “1”). The same goes for GotoIf parsing:
exten => s, n, GotoIf(${ISNULL(${abc})} ? foo,n,1 : bar,n,1)
Spaces are not allowed between the commas of the target locations, nor between ‘?’ and the following tokens, nor around ‘:’, without causing a lot of trouble.
The dialplan language is obtuse enough without adding lots of accidental complexity in the way the language is parsed.
Thanks!
Erik