Prohibit nested macros

After discussion (starting there:
https://github.com/gbdev/rgbds/pull/594#issuecomment-706437458
), it was decided that plain nested macros should not be
allowed.
Since #590 is fixed, EQUS can be used as a workaround;
multiline strings (#589) will make that easier on the
user when implemented.
Fixes #588, supersedes and closes #594.
Additionally, closes #388.
This commit is contained in:
ISSOtm
2020-12-09 10:44:39 +01:00
parent f16e34b804
commit 462fd7539c
5 changed files with 67 additions and 35 deletions

View File

@@ -0,0 +1,27 @@
outer_ok: MACRO
definition equs "inner_ok: MACRO\nPRINTT \"Hello!\\n\"\nENDM"
definition
PURGE definition
ENDM
outer_ok
inner_ok
outer_arg: MACRO
definition equs "inner_arg: MACRO\nPRINTT \"outer: \1\\ninner: \\1\\n\"\nENDM"
definition
PURGE definition
ENDM
outer_arg outside
inner_arg inside
outer: MACRO
WARN "Nested macros shouldn't work, whose argument would be \\1?"
inner: MACRO
ENDM
outer
inner