mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 18:22:07 +00:00
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.
28 lines
418 B
NASM
28 lines
418 B
NASM
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
|