As of version 0.653 (likely earlier), the parser for TestService’s macros (RBX_CHECK
, RBX_MESSAGE
etc) appears to replace every occurence of them regardless of where they’re placed, and as a result causes syntax errors in code that would normally be valid (comments, strings, variable names etc). These errors are not caught by the linter or debugger, making it difficult to figure out what’s causing them.
--all lines produce syntax errors with "Expected '('"
--RBX_CHECK
local _ = RBX_CHECK
local _ = 'RBX_CHECK'
local _ = ({}).RBX_CHECK
Place file: testServiceMacroTest.rbxl (54.0 KB)
Expected behavior
The parser ignores macros placed in areas in which replacing them would cause a syntax error.