From 462eaeccf654b9c7b3f7e78640c87d69ad7d261b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Carl-Henrik=20Sk=C3=A5rstedt?= <cskarstedt@gmail.com>
Date: Mon, 15 Feb 2016 21:11:10 -0800
Subject: [PATCH] Fixed bad fix (INCSYM was not properly fixed)

---
 README.md | 13 +++++++------
 x65.cpp   |  2 +-
 2 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/README.md b/README.md
index d21979e..f1f0d27 100644
--- a/README.md
+++ b/README.md
@@ -19,20 +19,21 @@ Noteworthy features:
 * C style scoping within '{' and '}' with local and pool labels
   respecting scopes.
 * Conditional assembly with if/ifdef/else etc.
+* Recursible macro support
 * Assembler directives representing a variety of features.
 * Local labels can be defined in a number of ways, such as leading
   period (.label) or leading at-sign (@label) or terminating
-  dollar sign (label$).
+  dollar sign (label$), and leading colon for merlin (:label).
 * String Symbols system allows building user expressions and macros
   during assembly.
 * Reassignment of symbols and labels by default.
 * No indentation required for instructions, meaning that labels can't
-  be mnemonics, macros or directives.
+  be mnemonics, macros or directives (merlin requires indentation).
 * Supporting the syntax of other 6502 assemblers (Merlin syntax
   requires command line argument, -endm adds support for sources
   using macro/endmacro and repeat/endrepeat combos rather
   than scoeps).
-* Apple II GS executable output.
+* Apple II GS executable output (relocatable executable).
 
 ## Features
 
@@ -100,10 +101,10 @@ Primarily tested with personal archive of sources written for Kick assmebler, DA
 * irp (indefinite repeat)
 
 **FIXED**
-* INCSYM failed with local labels
+* INCSYM failed with local labels, this is now properly handled. (fixed again..)
 * INCBIN and IMPORT BINARY always failed (force 0 bytes length)
-* Using more than 16 bytes of Pool labels was flawed
-* Fixed STRUCT directive (failed if contained line was empty)
+* Using more than 16 bytes of Pool labels was flawed as byte 15 and 16 would be the same address.
+* Fixed STRUCT directive (failed if contained line was empty).
 * Adding x65macro.i
 * Vice symbols will generate breakpoints whenever label 'debugbreak' is encountered
 * Evaluating '==' was broken
diff --git a/x65.cpp b/x65.cpp
index 61b9aab..3884522 100644
--- a/x65.cpp
+++ b/x65.cpp
@@ -4155,7 +4155,7 @@ StatusCode Asm::IncludeSymbols(strref line)
 			strref symstart = symfile;
 			if (strref symline = symfile.line()) {
 				int scope_start = symline.find('{');
-				if (scope_start > 0) {
+				if (scope_start != 0) {
 					strref symdef = symline.get_substr(0, scope_start);
 					symdef.clip_trailing_whitespace();
 					strref symtype = symdef.split_token(' ');