From 03f5e5cbfe410daaa42fecb4974b8c5c11292bd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carl-Henrik=20Sk=C3=A5rstedt?= Date: Thu, 17 Mar 2016 21:33:39 -0700 Subject: [PATCH] First column in Merlin mode recognizes scope braces ('{' and '}') --- README.md | 1 + x65.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 48c5674..ceb4dd0 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,7 @@ Primarily tested with personal archive of sources written for Kick assmebler, DA * irp (indefinite repeat) **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. * 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 diff --git a/x65.cpp b/x65.cpp index 840f28e..44daeaa 100644 --- a/x65.cpp +++ b/x65.cpp @@ -5700,7 +5700,7 @@ StatusCode Asm::BuildLine(strref line) line.trim_whitespace(); bool force_label = charE==':' || charE=='$'; 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]==':') force_label = true; if (!operation && !force_label) {