ref: c3641321d7a71e3c4759b3e22209454a363c85bb
parent: 446173f0cb54ce6f0b5be43e984b6ccde905260c
parent: a3ee76ddddc474b82afb165d3fe625928f80e620
author: Eldred Habert <eldredhabert0@gmail.com>
date: Thu Aug 29 16:09:32 EDT 2019
Merge pull request #399 from ISSOtm/allow_dots Allow periods to continue macro args
--- a/src/asm/globlex.c
+++ b/src/asm/globlex.c
@@ -214,7 +214,8 @@
|| (ch >= '0' && ch <= '9')
|| ch == '_'
|| ch == '@'
- || ch == '#') {
+ || ch == '#'
+ || ch == '.') {
if (*destIndex >= MAXSYMLEN)
fatalerror("Symbol too long");
--- a/test/asm/label-macro-arg.asm
+++ b/test/asm/label-macro-arg.asm
@@ -1,3 +1,9 @@
+print: MACRO
+ printv \1
+ printt "\n"
+ENDM
+
+
m1: MACRO
x\1
ENDM
@@ -14,14 +20,26 @@
m1 x = 7
m2 2 = 8
- printv x
- printt "\n"
+ print x
+ print y
+ print xx
+ print yy
- printv y
- printt "\n"
- printv xx
- printt "\n"
+test_char: MACRO
+VAR_DEF equs "sizeof_\1something = 0"
+VAR_DEF
+sizeof_\1something = 1
+ PURGE VAR_DEF
- printv yy
- printt "\n"
+VAR_PRINT equs "printt \"sizeof_\1something equals {sizeof_\1something}\\n\""
+ VAR_PRINT
+ PURGE VAR_PRINT
+ENDM
+
+ test_char _
+ test_char @
+ test_char #
+ test_char .
+
+ test_char :
--- a/test/asm/label-macro-arg.out
+++ b/test/asm/label-macro-arg.out
@@ -1,4 +1,10 @@
+ERROR: label-macro-arg.asm(45) -> test_char(2):
+ Macro 'something' not defined
$5
$6
$7
$8
+sizeof__something equals $1
+sizeof_@something equals $1
+sizeof_#something equals $1
+sizeof_.something equals $1
--- a/test/asm/label-macro-arg.out.pipe
+++ b/test/asm/label-macro-arg.out.pipe
@@ -1,4 +1,10 @@
+ERROR: -(45) -> test_char(2):
+ Macro 'something' not defined
$5
$6
$7
$8
+sizeof__something equals $1
+sizeof_@something equals $1
+sizeof_#something equals $1
+sizeof_.something equals $1