diff --git a/src/asm/lexer.c b/src/asm/lexer.c index 5651d42a..779618bb 100644 --- a/src/asm/lexer.c +++ b/src/asm/lexer.c @@ -1962,13 +1962,11 @@ restart: static char *startCapture(void) { - assert(!lexerState->expansions); - lexerState->capturing = true; lexerState->captureSize = 0; lexerState->disableMacroArgs = true; - if (lexerState->isMmapped) { + if (lexerState->isMmapped && !lexerState->expansions) { return &lexerState->ptr[lexerState->offset]; } else { lexerState->captureCapacity = 128; /* The initial size will be twice that */ diff --git a/test/asm/equs-macrodef.asm b/test/asm/equs-macrodef.asm new file mode 100644 index 00000000..042fee23 --- /dev/null +++ b/test/asm/equs-macrodef.asm @@ -0,0 +1,3 @@ +DEFINE equs "mac: MACRO\nPRINTT \"Hello :D\\n\"\nENDM" +DEFINE + mac diff --git a/test/asm/equs-macrodef.err b/test/asm/equs-macrodef.err new file mode 100644 index 00000000..e69de29b diff --git a/test/asm/equs-macrodef.out b/test/asm/equs-macrodef.out new file mode 100644 index 00000000..48c67c87 --- /dev/null +++ b/test/asm/equs-macrodef.out @@ -0,0 +1 @@ +Hello :D