mirror of
https://github.com/ksherlock/x65.git
synced 2024-12-29 10:30:32 +00:00
First column in Merlin mode recognizes scope braces ('{' and '}')
This commit is contained in:
parent
955665c91c
commit
c01b19a68c
@ -101,6 +101,7 @@ Primarily tested with personal archive of sources written for Kick assmebler, DA
|
|||||||
* irp (indefinite repeat)
|
* irp (indefinite repeat)
|
||||||
|
|
||||||
**FIXED**
|
**FIXED**
|
||||||
|
* Merlin macro parameters are not required on the MAC line, scope braces ('{', '}') can be used in the first column in Merlin.
|
||||||
* First line of a Merlin macro was sometimes ignored, two sequential subtractions were ignored in expressions.
|
* First line of a Merlin macro was sometimes ignored, two sequential subtractions were ignored in expressions.
|
||||||
* Pushing source contexts (macro, rept, include etc.) will always increment the scope depth.
|
* Pushing source contexts (macro, rept, include etc.) will always increment the scope depth.
|
||||||
* Fixed REPT / LUP to not destroy local symbols in the scope it was used in while also destroying local symbols within the repeating block correctly
|
* Fixed REPT / LUP to not destroy local symbols in the scope it was used in while also destroying local symbols within the repeating block correctly
|
||||||
|
Binary file not shown.
BIN
bin/x65_x64.zip
BIN
bin/x65_x64.zip
Binary file not shown.
2
x65.cpp
2
x65.cpp
@ -5700,7 +5700,7 @@ StatusCode Asm::BuildLine(strref line)
|
|||||||
line.trim_whitespace();
|
line.trim_whitespace();
|
||||||
bool force_label = charE==':' || charE=='$';
|
bool force_label = charE==':' || charE=='$';
|
||||||
if (!force_label && Merlin() && (line || operation)) // MERLIN fixes and PoP does some naughty stuff like 'and = 0'
|
if (!force_label && Merlin() && (line || operation)) // MERLIN fixes and PoP does some naughty stuff like 'and = 0'
|
||||||
force_label = !strref::is_ws(char0) || char1==']' || charE=='?';
|
force_label = (!strref::is_ws(char0) && char0!='{' && char0!='}') || char1==']' || charE=='?';
|
||||||
else if (!Merlin() && line[0]==':')
|
else if (!Merlin() && line[0]==':')
|
||||||
force_label = true;
|
force_label = true;
|
||||||
if (!operation && !force_label) {
|
if (!operation && !force_label) {
|
||||||
|
Loading…
Reference in New Issue
Block a user