Hi, I'm trying to add a Lua scripting feature for my external which will allow users to write and run Lua scripts directly in pd as object arguments similar to how [expr] object works.

But the problem is curly brackets are used for table literals (e.g. a = {1, 2, 3}) in Lua, so it is not possible to create tables using this method.
I could only use '{' and '}' by editing the patch with a text editor, then reopening the patch in Pd.

I found this code inside canvas_key() function from "g_editor.c" file.

if (keynum == '\\' || keynum == '{' || keynum == '}')
    {
        post("keycode %d: dropped", (int)keynum);
        return;
    }

I would like to know why these 3 characters are not allowed in Pd.
Would there be any problem if we remove the above code from Pd?
Thanks!

Best regards,
Zack