[asterisk-dev] [Code Review] 3627: Update extensions.lua.sample with naming conflict guidance.

rnewton reviewboard at asterisk.org
Wed Jun 18 08:30:11 CDT 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3627/#review12183
-----------------------------------------------------------

Ship it!


Works for me.

- rnewton


On June 18, 2014, 1:29 a.m., George Joseph wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3627/
> -----------------------------------------------------------
> 
> (Updated June 18, 2014, 1:29 a.m.)
> 
> 
> Review request for Asterisk Developers and rnewton.
> 
> 
> Bugs: asterisk-23844
>     https://issues.asterisk.org/jira/browse/asterisk-23844
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> The sample extensions.lua was causing pbx_lua to fail to load when parsing 'app.goto("default", "s", 1)' because in Lua 5.2, 'goto' is now a reserved word.  Added the following guidance to extensions.lua.sample and changed 'app.goto("default", "s", 1)' to 'app.['goto']("default", "s", 1)'.  
> 
> -- Note about naming conflicts:
> -- Lua allows you to refer to table entries using the '.' notation,
> -- I.E. app.goto(something), only if the entry doesn't conflict with an Lua
> -- reserved word.  In the 'goto' example, with Lua 5.1 or earlier, 'goto' is
> -- not a reserved word so you'd be calling the Asterisk dialplan application
> -- 'goto'.  Lua 5.2 however, introduced the 'goto' control statement which
> -- makes 'goto' a reserved word.  This casues the interpreter to fail parsing
> -- the file and pbx_lua.so will fail to load.  The same applies to any use of
> -- Lua tables including extensions, channels and any tables you create.
> --
> -- There are two ways around this:  Since Lua is case-sensitive, you can use
> -- capitalized names, I.E. app.Goto(something) to refer to the Asterisk apps,
> -- functions, etc. Or you can use the full syntax, I.E. app["goto"](something).
> -- Both syntaxes are backwards compatible with earlier Lua versions.  To make
> -- your Lua dialplans easier to maintain and to reduce the chance of future
> -- conflicts you may want to use the app["goto"](something) syntax for all
> -- table accesses.
> --
> 
> This patch will merge through to 11, 12 and trunk.
> 
> The wiki needs to be update with the same info.
> 
> 
> Diffs
> -----
> 
>   branches/1.8/configs/extensions.lua.sample 416556 
> 
> Diff: https://reviewboard.asterisk.org/r/3627/diff/
> 
> 
> Testing
> -------
> 
> Made sure extensions.lua now loads correctly.
> 
> 
> Thanks,
> 
> George Joseph
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140618/ceaa6811/attachment-0001.html>


More information about the asterisk-dev mailing list